The row_draggable callback could blithely delete m_dragDataObject twice as it
didn't reset it to NULL after deleting it the first time. Then, if the object
wasn't changed in the meanwhile, e.g. because dragging was not allowed for
this item, it tried to do it again when called the next time resulting in a
crash.
Closes#12538.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correctly initialize the alignment used by the text renderer used by
wxDataViewCustomRenderer in wxGTK implementation of wxDataViewCtrl.
Closes#12298.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The drawing code in the generic version of wxDataViewCtrl incorrectly supposed
that the expander column was always at position 0. This resulted in the
expander column not being drawn at all if it was not really the first one.
Fix the test to use wxDataViewCtrl::GetExpanderColumn() to correct this.
Closes#12870.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The comparison in EVT_CHAR handler was incorrect for an empty control without
any rows as it subtracting 1 from 0 resulted in UINT_MAX and not -1 as all the
values were unsigned.
Fix this by checking that the new row is valid instead, this is correct for
both signed and unsigned values.
Closes#13356.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't set focus to a hidden window in our focus management code, this never
makes sense and results in apparent focus loss.
It also fixes, as a side effect, a crash in wxGrid under wxMSW as the focus is
not restored to the hidden grid editor any longer and so the code in its
wxEVT_KILL_FOCUS handler that resulted in the crash is not executed any
longer, see #13349.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add new "expanded" attribute for XRC nodes of treebookpage class.
Also update the sample and the XRC format documentation.
Closes#13355.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Negated long options were not recognized in wxCmdLineParser::Parse(), do check
for them now.
Also extend the unit test to check for negated options.
Closes#13335.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The "negated" flag of wxCmdLineOption struct was not reset by Reset() so
parsing a command line with a negatable option once influenced the result of
parsing it the next time because the old value was kept.
Do clear it now to allow calling Parse() several times without side effects.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
VC6 can't instantiate member template functions so get rid of it and use ugly
dynamic casts in the non-template function to construct wxGCDC correctly.
See #13327.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The mask was actually only used when it was initialized (or, conversely, the
mask was always initialized when it was used) but gcc doesn't seem to notice
this and still warns that mask components "may be used uninitialized in this
function".
Suppress the warnings by always initializing the mask, even if we don't use
it.
Closes#13333.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
the generic implementation of wxDataViewCtrl left the old current still
focused after selecting another row as current when it was right clicked.
Fix this by refreshing the previously current row after unfocusing it.
Closes#13330.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Currently this is only implemented in the generic wxDataViewCtrl, the native
GTK/OSX ports should be modified to support this later.
Closes#13323.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We erroneously removed too many elements from m_colLabels array (basically we
always removed all the elements remaining after this column, irrespectively of
the actual number of columns to delete), fix this by removing at most the
specified number of columns -- or possibly less if the array isn't entirely
filled.
See #13329.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to test wxMemoryDC and, under MSW, wxMetafileDC and also can be
used to compare the output of different versions of the sample (possibly from
different ports, too).
Closes#13327.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The hidden columns (i.e. those whose size was set to 0) should be skipped when
find the previous/next column to select when the user presses Left/Right
cursor arrow keys in wxGrid, otherwise the focus could completely disappear as
it was invisible when it was set to a hidden column.
Closes#13281.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As there doesn't seem to be any native functions for comparing HIShapes,
compute their differences to find out if they are equal.
Closes#13339.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775