Commit Graph

1964 Commits

Author SHA1 Message Date
Vadim Zeitlin
eda112dbfa Fix display of bitmaps with alpha in wxStaticBitmap under MSW.
Avoid double alpha pre-multiplication by converting the bitmap into a non
pre-multiplied format before passing it to STM_SETIMAGE.

Closes #2395.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-29 22:24:27 +00:00
Vadim Zeitlin
74256434cc Fix wx-config --libs in monolithic build.
Don't include non-existent libraries (which are built as part of the main
monolithic one) in this case.

Closes #15567.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-26 13:52:00 +00:00
Paul Cornett
3313a31ed3 fix GetBordersForSizer(), closes #15872
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-24 18:29:45 +00:00
Paul Cornett
50ca21f966 Fix cursor inheritance and busy cursor/global cursor, closes #15801
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-23 18:27:13 +00:00
Paul Cornett
ef77c65bbb fix wxPopupTransientWindow mouse events with GTK3, also fixes wxOwnerDrawnComboBox, wxDatePickerCtrl. closes #15874
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-23 04:46:17 +00:00
Vadim Zeitlin
0e53ae9eb0 Fix setting fonts and colours for wxToggleButton with bitmaps in wxGTK.
Apply the fixes of r54138 to wxToggleButton too, the problem of #3939 was not
specific to just plain wxButtons.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-19 12:57:35 +00:00
Vadim Zeitlin
eaa854bc8a Document incompatible change to wxWindow::FindWindow() in 3.0.
We now skip the TLW children in this method, see r74721.

Also explicitly mention that TLW "children" are not searched by this function
in the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-13 13:38:05 +00:00
Vadim Zeitlin
5ac0638d95 Support file associations using "show" verb under MSW too.
If we failed to find the "open" command, try the "show" one as some programs
(notable Microsoft viewers for Office file formats) only define the latter but
not the former.

Closes #15821.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-12 14:13:11 +00:00
Vadim Zeitlin
94ba85cf0f Fix mouse wheel event coordinates in wxFrame in wxMSW.
The screen to client conversion for this event coordinates took the toolbar
height into account twice, resulting in a wrong value if the event was handled
in a frame that did have a toolbar.

Closes #15812.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-05 21:10:17 +00:00
Vadim Zeitlin
121da56ebd Add Aragonese translations by Jorge Pérez.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 22:50:02 +00:00
Vadim Zeitlin
fb18392abf Don't keep using the old wxBitmap data after modifying it directly in wxGTK.
Drawing on a wxBitmap via wxMemoryDC modified its pixmap representation in
wxGTK and even if its pixbuf representation was later changed using direct
access to the bitmap pixels, the out of date pixmap continued to be used,
creating the illusion of direct access being completely ignored.

Fix this by purging the old pixmap representation when locking the bitmap for
raw access.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-03 01:08:10 +00:00
Paul Cornett
16ad55c469 fix memory leak, closes #15785
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-29 19:14:24 +00:00
Vadim Zeitlin
e2f2fbffa9 Don't crash in wxAuiToolBar::GetToolBarFits().
The code could crash if m_overflowVisible was true but m_overflowSizerItem was
NULL. Ideally this shouldn't happen in the first place, but it did, so at
least fix the crash for now -- and hopefully this code will be refactored to
make it more clear later.

Backport from trunk, see #15747.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-18 16:18:16 +00:00
Vadim Zeitlin
69ff70b693 Fix crash when Destroy()-ing a TLW with a non-TLW parent.
Generalize the code in wxTopLevelWindowBase dtor checking for the children of
the TLW being destroyed pending for deletion themselves to work when the child
TLW is an indirect child, i.e. was created with a child window of this TLW as
parent and not this TLW itself.

Closes #15743.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 14:53:46 +00:00
Vadim Zeitlin
6c3e363cb0 Work around wrong vsscanf() declaration under HP-UX.
Under this system vsscanf() is declared as taking a non-const char* as first
argument which prevented our code using it from compiling. Wrap it in
wxCRT_VsscanfA() adding the necessary const_cast<> to fix this.

Closes #15638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 13:36:23 +00:00
Vadim Zeitlin
f9450029bc Fix clicking on checkboxes in generic wxDataViewCtrl.
Back port the fix of r75329 from the trunk but without changing
GetEffectiveAlignment() visibility to avoid changing the ABI.

See #15731.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 16:34:35 +00:00
Vadim Zeitlin
485ecdf721 Fix wxCommandProcessor::IsDirty() for unsaved unmodified case.
IsDirty() still returned true even after undoing all the commands which was
wrong, as there was nothing to save in this case.

Closes #15722.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 13:46:28 +00:00
Vadim Zeitlin
407c0595ff Fix multiple calls to wxSocket::Initialize() in wxMSW.
Subsequent calls didn't initialize the hidden window correctly because
wxSocket::Shutdown() unregistered the window class used for it, but
wxSocket::Initialize() still kept a pointer to the previously registered class
name.

Don't remember it any longer, unlike in the other cases where we use
wxCreateHiddenWindow(), this function is only ever going to be called once
until the class is unregistered anyhow, so it doesn't have to be static.

Closes #15701.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-25 13:41:10 +00:00
Vadim Zeitlin
d8e58ed8af Fix joystick detection in configure under OS X.
Don't compare toolkit with OSX which is never used for it, compare it with
OSX_COCOA instead.

Closes #15692.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 00:08:07 +00:00
Vadim Zeitlin
c2a9b451ba Fix wxRegion::Offset() copy on write behaviour in wxMSW.
Offset the correct, new and unshared, region handle instead of the old and
possibly shared one.

Closes #15690.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-20 12:01:03 +00:00
Vadim Zeitlin
4db1aac9cf Fix swapping items client data in wxEditableListBox.
Use wxUIntPtr, not long, and SetItemPtrData() instead of SetItemData(), to
ensure that we preserve the values of client data pointers in 64 bit build,
otherwise they were truncated to 32 bits.

Closes #15687.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-19 14:15:17 +00:00
Vadim Zeitlin
376c9e2181 Don't allocate way too much memory in wxVector::reserve().
We multiplied the number of items by the size of each element twice, once in
wxVector::reserve() itself and once in Ops::Realloc() it called, so we
allocated much more memory than actually needed.

Fix this by passing the number of elements to Ops::Realloc().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-19 13:12:52 +00:00
Vadim Zeitlin
3b1fb62976 Define SIZEOF_LONG_LONG for Windows.
This is important not only for consistency with the other platforms but also
because without SIZEOF_LONG_LONG being defined, "%lu" format specifier can't
be used with size_t values under Win64, as Arg_Size_t is not defined correctly
there if SIZEOF_LONG_LONG is unknown.

Closes #15670.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:40:56 +00:00
Vadim Zeitlin
87ebc943d4 Fix wxSocket::WaitForAccept() in worker thread.
This was broken because Select() never returned wxSOCKET_CONNECTION_FLAG which
is supposed to be set when a connection is accepted.

Closes #15669.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:40:53 +00:00
Vadim Zeitlin
1d98ac3039 Fix blank wxComboBox appearance broken by the changes of r75134.
We didn't repaint the owner drawn combobox items any more because they were
not found by MSWFindItem().

Fix this by restricting the check to the real windows with the same ID as the
combobox, not the dropdown items which are not windows at all.

Closes #15674.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 15:24:13 +00:00
Vadim Zeitlin
80969d29a1 Don't eat mouse wheel events if we can't handle them in wxGTK.
The recent changes to mouse wheel scrolling broke it for the generic
wxListCtrl and probably any other situation in which scrollbars don't scroll
the window itself but some subwindow of it. In this case, the scroll wheel
event handler doesn't have any scrollbar to adjust, so it simply does nothing
and shouldn't return true, as it did since r74911.

Just return false in case we are not doing anything to let the mouse wheel
work as before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 13:35:01 +00:00
Vadim Zeitlin
f627cb7ced Fix crash when setting invalid label with "&" at the end.
We detected that the label was invalid and gave a debug warning message about
it but then still proceeded to crash by accessing the data beyond the end of
the string. Don't do this.

Closes #15665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-13 12:52:30 +00:00
Vadim Zeitlin
c461ac9e39 Fix the 3.0.0 release date and update the release announcement slightly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:33 +00:00
Vadim Zeitlin
7f0b8fe0db Fix behaviour of wxComboBox using ID=1000 in wxMSW.
If a wxComboBox was created with ID=1000, clicking in its drop down didn't
work.

It turns out that the native combobox control always creates its dropdown
listbox with the ID of 1000 and that when we were getting LBN_SELCHANGE from
it we mishandled this message because our code mistakenly believed that all
messages from the ID of the control itself were, in fact, coming from this
control, which wasn't the case here.

Fix this by adding a special check for this case in wxComboBox. Also
virtualize the dynamic cast which was done in wxWindow::FindItem() as this
makes the code simpler and allows to get rid of __WXUNIVERSAL__ #ifdef as
well.

Closes #15647.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 16:59:41 +00:00
Vadim Zeitlin
71f261f6b2 Use proper accents in a contributor name.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 16:03:14 +00:00
Vadim Zeitlin
3df0e7b9c7 Mention incompatible wxGridBagSizer::AddGrowable{Col,Row}() change.
It now has no effect if called before adding the columns/rows to the sizer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 12:05:07 +00:00
Vadim Zeitlin
87ffcafce0 Update contributor name to preferred variant.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 11:56:51 +00:00
Vadim Zeitlin
89077d2067 Fix wxMSW build with WXWIN_COMPATIBILITY_2_6==1.
Avoid conflict between wxMSW symbol defined in wx/platinfo.h in this build
configuration and wxMSW namespace by renaming the latter to wxMSWImpl, which
is also consistent with the namespace name used elsewhere.

Closes #15624.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-30 12:21:27 +00:00
Vadim Zeitlin
b727da4d23 Fix wxSpinButton default width under GTK+ 3.
The default GTK+2 width is so small as to make the control unusable under
GTK+3, so use larger (but still hardcoded) width there.

Closes #15619.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 12:17:36 +00:00
Vadim Zeitlin
3b636935b3 Fix crash in wxCharBuffer if memory allocation fails.
Handle memory allocation failure gracefully in wxCharTypeBuffer ctor.

Closes #15616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 15:04:10 +00:00
Vadim Zeitlin
59edd80343 Prepare release notes and such for 3.0.0-rc2.
No real changes, just change the RC number.

Also update the release date.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-27 15:48:22 +00:00
Vadim Zeitlin
9337103a37 Use UTF-8 for saving wxTextCtrl contents now.
This ensures that the files created by wxTextCtrl::SaveFile() can be read back
by wxTextCtrl::LoadFile() as previously the files were saved using the current
locale encoding but read back using Latin1 (after first trying, and failing,
to read them as UTF-8).

This is a backwards incompatible change but it ensures that wxTextCtrl can
load its own files and is also consistent with the use of UTF-8 by default in
other places. Finally, and perhaps most importantly, this ensures that the
file contents can always be saved, i.e. there is no risk of conversion errors
any more.

Closes #15611.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 20:29:32 +00:00
Vadim Zeitlin
451e456a91 Fix special characters handling in wxSVGFileDC::DrawText().
Special XML characters need to be quoted before being saved in an SVG file
(which is also an XML file).

Closes #15602.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 21:23:11 +00:00
Vadim Zeitlin
2391d20d76 Use correct contributor name for Jonathan Liu.
Correct the changelog entry added by r73938, see #10625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 17:51:21 +00:00
Vadim Zeitlin
db7af3c2a7 Fix DrawArc() implementation in wxGtkPrinterDC.
It didn't count the angles correctly when they were equal to 90 degrees.

Also simplify the code by avoiding special cases for 90 degrees anyhow, just
call atan2() directly. And also avoid converting the angles to degrees just to
convert them back to radians immediately afterwards.

See #15609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 17:38:37 +00:00
Vadim Zeitlin
b845aa636a Fix reading of files with Mac EOLs in wxTextFile.
The last CR-terminated line wasn't handled correctly.

Fix this now and add unit tests to ensure that it stays fixed.

Closes #15583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 13:04:23 +00:00
Vadim Zeitlin
6e6e6d179f Fix pointer truncation in wxListEvent::GetData() in LLP64 builds.
We must use wxUIntPtr and not long here to avoid truncating the upper half of
the pointer when sizeof(void*)>sizeof(long).

Closes #15578.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:40 +00:00
Vadim Zeitlin
910f1a96d2 Add wxOleConvertVariant_ReturnSafeArrays flag for better SAFEARRAY handling.
While we can't change the type of wxVariant to which SAFEARRAYs are converted
by default, it's much more convenient to work with the variant objects of the
correct type, i.e. using wxVariantDataSafeArray, when dealing with SAFEARRAYs,
so add a flag which can be set to tell a wxAutomationObject to behave in this
way.

Closes #14700.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:35 +00:00
Vadim Zeitlin
b881ffc9a9 Added a changelog section for 3.0-RC2.
List the most important changes since 3.0-RC1 already done.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:30 +00:00
Vadim Zeitlin
2489d4f5b2 Update announcement and changelog for 3.0.0-RC1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 12:07:53 +00:00
Vadim Zeitlin
723276b7b2 Mention wxWebView in the list of major changes since 2.8.
It's certainly no less important than propgrid or ribbon (and arguably much
more so).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 12:07:50 +00:00
Vadim Zeitlin
d32895c5d8 Generate events with specific wxFSW_WARNING_OVERFLOW type if applicable.
This allows the program to distinguish between some other, unspecified,
warnings and this one which can and does happen whenever too many changes
occur too quickly but which has a clearly defined work around: the state kept
inside the program just needs to be refreshed by rescanning the directory anew.

See #12847.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:51 +00:00
Vadim Zeitlin
a05ae051d8 Fix capturing non-ASCII output using wxExecute().
Explicitly use wxConvLibc with wxTextInputStream to make sure we correctly
decode non-ASCII data in the subprocess output.

This is a hack, the real solution would be to make wxTextInputStream work
properly with wxConvAuto.

See #14720.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 23:30:52 +00:00
Vadim Zeitlin
8155d71a7d Improve handling of keyboard entry using IME.
Pass the keyboard events to the IME before generating our events for them, the
IME may need them for its own use.

Closes #15384.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 23:30:45 +00:00
Vadim Zeitlin
4521f6c88c Add wxActivateEvent::GetActivationReason().
This method is implemented for wxMSW-only currently and allows to check
whether the window is being activated by a mouse click or in some other way
there.

Closes #15516.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-02 16:25:04 +00:00