Commit Graph

51634 Commits

Author SHA1 Message Date
Vadim Zeitlin
ed84dc74d9 Fix drawing of items with custom background in wxGenericListCtrl.
This was broken by the changes of r64879 which erroneously used
wxRendererNative::DrawItemSelectionRect() even for the non-selected items.

Now only use DrawItemSelectionRect() for the selected items to make them
appear natively while drawing the non-selected items with custom background
colour ourselves.

Also refactor the code to avoid (the not quite and hence especially
pernicious) duplication between wxListLineData::Draw() and DrawInReportMode():
rename SetAttributes() to ApplyAttributes() and draw the item background in
this function now instead of doing it in both Draw() and DrawInReportMode().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-14 13:18:48 +00:00
Vadim Zeitlin
4be95bef8c Fix hang on termination of wxProgressDialog with wxPD_AUTO_HIDE style.
We don't need to run a modal event loop waiting for the wxProgressDialog to be
closed when it has wxPD_AUTO_HIDE style because it does it on its own.

Closes #12472.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-14 10:24:35 +00:00
Robert Roebling
b955766e88 Document wxDataViewListModel as common abstract base class for
wxDataViewIndexListModel and wxDataViewVirtualListModel.

Add wxDataViewListModel::GetCount() as both have it.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-13 20:12:57 +00:00
Robert Roebling
d8090b5e2c Further work on wxDataViewListModel::Reset()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-13 20:02:01 +00:00
Vadim Zeitlin
b95d405138 Update wxRibbonPanel documentation to mention use of sizers.
This documents the changes of r65436.

Closes #12418.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 22:58:58 +00:00
Vadim Zeitlin
c67f815120 Delete wxListCtrl item data after handling its deletion event in wxMSW.
We deleted the data associated with the item too soon as we did it before the
handler for the item deletion event was run and this handler could still
access this data.

Only free the data after the handler returns now.

Closes #12449.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 22:58:53 +00:00
Vadim Zeitlin
ba97f6f8a3 Fix compilation of EnumerateLoadedModules() call for MinGW64 4.5.
Our logic for detection of whether the first argument of
PENUMLOADED_MODULES_CALLBACK is const or not didn't work for MinGW64 4.5.

Replace it with a less error-prone (even if more ugly) version which simply
casts the callback to the type expected by the function.

Closes #12465.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 22:58:48 +00:00
Vadim Zeitlin
7095bd60e2 Define MAPVK_VK_TO_CHAR to fix wxMSW compilation with old SDK headers.
At least MinGW headers don't define this constant.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 22:05:51 +00:00
Robert Roebling
673810eeb8 Moved more code from wxDataViewCtrl to wxDataViewCtrlInternal.
Add new special API for wxDataViewVirtualIndexModel::Reset() as
wxDataViewModel::Clear is something different and needs a different, two
step API under GTK+, one for destroying the current view and one for
rereading the new contents.
Added ::BeforeReset() and ::AfterReset() notifications for that purpose.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 20:07:28 +00:00
Julian Smart
5249673498 Fix for % symbols going missing from style parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 16:16:48 +00:00
Vadim Zeitlin
03bec791dd Compilation fix for wxOSX.
Remove stray closing brace.

Also fix a warning about unused parameter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 11:20:40 +00:00
Vadim Zeitlin
d0fb62a656 Generate the same flags for modifier key events in wxGTK as in wxMSW.
Resolve the discrepancy between modifier flags of the key events corresponding
to the modifier key itself between wxMSW and wxGTK by changing the latter to
follow wxMSW behaviour.

Clearly document the now officially correct behaviour of the modifiers for the
key events corresponding to the modifiers keys themselves in the manual.

This fix also makes it unnecessary to work around this bug in the keyboard
unit test so remove it from there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:14 +00:00
Vadim Zeitlin
7333c0ef82 Generate unshifted Unicode key codes in wxEVT_KEY_XXX events in wxGTK.
wxGTK generated wxEVT_KEY_XXX with key codes corresponding to the unshifted
state of the key (except for the letters) but Unicode key codes corresponding
to the current shift state. This was inconsistent with wxMSW and also with the
idea that key events, unlike char ones, don't depend on the modifiers states.

Change wxGTK to behave as wxMSW and use unshifted values for Unicode key codes
as well.

Remove the now unnecessary workaround for different key event Unicode codes
from test.

Also try to explain the difference between normal and Unicode keys and key and
char events even better and mention that the Unicode key codes for the key
events are also untranslated in the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:07 +00:00
Vadim Zeitlin
5844ad30dd Fix generation of key events for non-alphabetic keys under Windows.
Don't hardcode the values of VK_OEM_XXX keys which are completely nonsensical
on keyboards with non-US layouts. Use the real unshifted value of the key as
its key code instead -- at least if it's a Latin-1 character. Otherwise, use
WXK_NONE as the key code and pass the character generated by the key as
Unicode character code.

Also generate WXK_NONE events for dead keys to avoid confusing them with the
corresponding normal key events.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:02 +00:00
Vadim Zeitlin
e7b12eece0 Improve printing out of pressed keys in the keyboard sample.
Add missing elements of wxKeyCode enum ("Windows" and "Command" keys) to the
GetVirtualKeyCodeName() function in the sample.

Also output "unknown" and not blank for WXK_NONE.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:57 +00:00
Vadim Zeitlin
0c03f52d02 Rename wxCharCode{MSWToWX,WXToMSW}() and move them to a separate header.
These functions were confusingly named as they work with MSW (virtual) key
codes and not character codes, rename them to better indicate what they do.
They also don't need to be in wx/msw/window.h included by all wx code when
they are only really needed in a couple of files, so move them to a private
header.

No changes in behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:53 +00:00
Vadim Zeitlin
b6885972ee Fixes to key codes in keyboard events generated by wxMSW.
Only set Unicode key code if the event corresponds to a character key and set
it to (newly added) WXK_NONE for the other ones to avoid nonsensical values in
it for e.g. "Home" key presses.

Also set non-Unicode key to WXK_NONE for the characters that can't be
represented in the current locale. This is consistent with wxGTK and avoids
conflicts between special key values and Unicode keys.

Clearly document the above behaviour.

Notice that implementing the correct behaviour in wxMSW involved untangling
previously interwoven WM_KEY{DOWN,UP} and WM_CHAR messages handlers. Clearly
separate them now as they get different input (key codes for the former,
characters for the latter) and especially don't try to convert from both kinds
of input using a single wxCharCodeMSWToWX() function. As this function doesn't
need to distinguish between keys and characters any more it can simply return
the converted value in all cases instead of returning 0 sometimes to indicate
a character value instead of a key. Simplify the code using this function
accordingly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:47 +00:00
Vadim Zeitlin
86408a0374 Add WXK_NONE symbolic constant indicating absence of a key.
wxKeyEvent::GetKeyCode() and GetUnicodeKey() return 0 to indicate that the key
code or Unicode character is not available, give symbolic name to this 0 to
make the code using these methods more clear.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:41 +00:00
Vadim Zeitlin
e6cef55ae1 No real changes, just use KF_EXTENDED instead of hard-coded bit mask.
KF_EXTENDED is defined in Windows headers as the mask for extracting the
"extended" bit from LPARAM of the keyboard messages. Use it instead of
explicitly writing less clear "1 << 24".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:35 +00:00
Vadim Zeitlin
042ddf5def Add a simple test for keyboard events generation.
Check that the events generated by wxUIActionSimulator result in the same
wxKeyEvents being generated under all platforms. This is not the same as
checking the event generation for the actual keys pressed by the user as there
are some small differences between the two but better than nothing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:31 +00:00
Vadim Zeitlin
2dcbc4615b Generate correct events for extended keys in wxMSW wxUIActionSimulator.
Simulating keys such as WXK_END resulted in WXK_NUMPAD_END event being
generated instead of the expected WXK_END one.

Fix this by returning from wxCharCodeWXToMSW() whether the key code is a
normal or extended one and use this to set KEYEVENTF_EXTENDEDKEY in
wxUIActionSimulator::DoKey().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:25 +00:00
Vadim Zeitlin
9cbe96d093 Remember the last key event in wxGTK before passing it over to IM.
Save the last key event before calling IM filter to be able to get the correct
modifiers, timestamp, position &c to use for the CHAR event generated from IM
commit callback.

This restores the changes of r34504 which were reverted for unknown (or at
least unmentioned) reason in r34521.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:19 +00:00
Vadim Zeitlin
371412145f Explicitly send events for modifier keys in wxUIActionSimulator.
Key down/up events for the modifiers were already explicitly sent under wxMSW
and wxOSX but not under wxGTK where, as the result, the corresponding events
were not generated at all.

Do send these events explicitly to make the events generation consistent under
all platforms now. This means that wxUIActionSimulator::DoKey() now generates
exactly one event everywhere.

Notice that the modifiers for the key events generated by the modifier keys
are also the same under all platforms now which is not the case for the events
actually generated by the user (wxMSW sets the corresponding bit for the
modifier key down event but not the key up one while wxGTK does exactly the
contrary). This should be fixed in the future so that wxUIActionSimulator
generates the same sequence of events as the user would and that it's still
the same for all platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:15 +00:00
Vadim Zeitlin
c3f62b348f Remove assert checking for wxMOD_CONTROL from wxUIActionSimulator.
It doesn't make sense to fail if modifiers parameter includes wxMOD_CONTROL
telling the caller to use wxMOD_CMD instead as the latter is exactly the same
as the former under non-Mac platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:10 +00:00
Vadim Zeitlin
8cdd00f29f Add a convenient wxREGISTER_UNIT_TEST() macro.
This macro can be used to easily register a test following a standard naming
convention in both the global test suite and the test suite with the same name
as this test instead of having to use 2 different cppunit macros to do the
same thing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:05 +00:00
Vadim Zeitlin
daf9622e38 No real changes, just some small cleanup in wxMSW keyboard code.
No changes, just use more clear variable name ("keycode" instead of "id") and
anonymous namespace instead of static keyword.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:17:57 +00:00
Stefan Csomor
5d57348ef5 fixing 'main screen'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 09:20:28 +00:00
Vadim Zeitlin
4d4c704c3e Use wxLocale::GetInfo() to get date format in wxDatePickerCtrlGeneric.
Instead of trying (and failing) to manually decode the format used by "%x",
simply use wxLocale::GetInfo(wxLOCALE_SHORT_DATE_FMT) and just change "%y" to
"%Y" if necessary.

The new code is more than 10 times shorter and also gives correct results
unlike the old version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 19:42:23 +00:00
Vadim Zeitlin
5dea30b309 Don't add spurious NULs at the end of wxTextDataObject text under OS X.
For some reason we added an extra NUL character to the data copied from
wxTextDataObject but this doesn't seem necessary because the Pasteboard API
is passed the correct data size and so the string doesn't need to be
NUL-terminated.

In fact, adding this NUL broke drag and drop between wx and native controls,
including the case of dropping text in our own wxTextCtrl as this uses its
built in support for dnd and not our code (the fact that we can't even set a
drop target for a wxTextCtrl is a separate bug). In this case we got a string
with an extra NUL in the control resulting in all sorts of hard to debug
problems.

So simply don't add the extra bytes, dnd works fine without them both between
wx windows and from/to another OS X applications.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 19:28:52 +00:00
Vadim Zeitlin
3e4f133a43 Initialize wxGenericProgressDialog button members in Init() too.
wxGenericProgressDialog::m_btn{Abort,Skip} were not initialized neither which
resulted in crashes inside EnableAbort() which was called if the "Cancel"
button was pressed in a native MSW dialog but the dialog wasn't cancelled (and
hence the button needed to be reenabled).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:26:11 +00:00
Vadim Zeitlin
21a5e7e0a7 Fix closing logic in wxMSW native wxProgressDialog.
The dialog must always close if the C++ object was destroyed, independently of
whether it was cancelled or finished.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:26:07 +00:00
Vadim Zeitlin
cc31a982ec Block in wxMSW wxProgressDialog::Update(max) until the dialog is dismissed.
For consistency with the generic version and because it makes more sense than
blocking in the dialog destructor (which is the only other alternative for the
dialogs without wxPD_AUTO_HIDE to work), we should block in Update() when the
maximal value is reached for dialogs without wxPD_AUTO_HIDE style until the
dialog is dismissed.

Document this behaviour even more clearly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:26:03 +00:00
Vadim Zeitlin
2de77c6a54 Fix errors in handling of maximum field in wxGenericProgressDialog.
Provide a SetMaximum() function for setting just m_maximum and return its
value from GetRange() instead of using m_gauge->GetRange() which doesn't work
when the native MSW version is used nor when the range is > USHRT_MAX under
MSW in any case.

More generally, this should fix a lot of bugs for progress dialogs using such
range as the values were not interpreted correctly in many places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:58 +00:00
Vadim Zeitlin
4f4d6f44f9 Rename wxGenericProgressDialog::ProgressDialogState to just State.
Repeating "ProgressDialog" twice is redundant.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:53 +00:00
Vadim Zeitlin
979901c8df No changes, just use less long progress dialog states names.
We can refer to them using wxProgressDialog class name and not the base
wxGenericProgressDialog so do this as it is shorter and more clear because
these states have nothing to do with the generic version when used by the
native MSW implementation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:45 +00:00
Vadim Zeitlin
928da15b8e Use determinate mode in native wxMSW wxProgressDialog by default.
The dialog was created in indeterminate ("marquee") mode for some reason.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:41 +00:00
Vadim Zeitlin
f434800ca3 Add a possibility to show a progress dialog on dialog sample startup.
Add a command line option to the dialogs sample to allow testing of different
wxProgressDialog styles more easily. This also tests for showing them before
the main event loop is started (see r65499).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:35 +00:00
Vadim Zeitlin
e77570de2e Don't use wxGenericProgressDialog::m_windowStyle for wxPD_XXX styles.
Storing progress dialog styles in the normal window style didn't work because
they clashed with the TLW styles. The original progress dialog implementation
worked around this by using separate m_has{Abort,Skip}Button variables instead
of relying on wxPD_CAN_{ABORT,SKIP} style bits but this didn't work for the
other styles and was unclear so the new native MSW implementation blithely
used m_windowStyle to test or them and other bits which didn't work at all,
see #12416.

Solve this by using a separate m_pdStyle variable for storing the progress
dialog styles and use it for all wxPD_XXX tests in both the generic and MSW
code. This fixes some bugs (although not all of them yet) and allows to get
rid of m_has{Abort,Skip}Button.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:28 +00:00
Stefan Csomor
827833e2e2 adjusting to new gui mutex for osx, see #12411
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 13:41:50 +00:00
Vadim Zeitlin
7ad8a38ae5 Create temporary wxEventLoop in wxGenericProgressDialog if needed.
wxGenericProgressDialog needs to have an active event loop in order to repaint
itself and process clicks on its buttons but it's more helpful to create a
temporary event loop if there is no currently active one instead of just
asserting. In particular, this allows to use wxProgressDialog from overridden
wxApp::OnInit().

Add temporary event loop creation and remove the now unnecessary asserts
verifying that there is an active event loop as there always will be one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 11:44:46 +00:00
Vadim Zeitlin
79e58a409e Initialize wxGenericProgressDialog::m_winDisabler properly.
This field wasn't initialized by Init() which might have been harmless
considering the current code structure but still untidy, do set it to NULL
there.

Also move the forward declaration of wxWindowDisabler class in
wx/generic/progdlgg.h to the top of the file for consistency with the other
forward declarations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 11:44:40 +00:00
Vadim Zeitlin
395da337e9 Don't return false from IsOk() for accelerators without flags.
wxAcceleratorEntry::IsOk() checked for m_flags != 0 for some reason. Simply
remove this test.

See #12444.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 11:44:35 +00:00
Vadim Zeitlin
da209561e3 Fix infinite loop in wxDateTime::Format() when fields width was used.
Just add a missing increment of the loop variable.

See #12451.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 22:20:12 +00:00
Vadim Zeitlin
ca9fc039c1 Fix cast of pointer to int in artprov sample.
This prevented the sample from building when using MinGW-64 and also probably
prevented it from working correctly on other 64-bit systems.

Closes #12453.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 22:20:07 +00:00
Vadim Zeitlin
ba75967c9c Initialize all fields of struct tm used by wxDateTime::Format().
Passing not fully initialized struct tm to strftime() results in Valgrind
errors and possible nastiness, see #12455.

Simply use memset() to set all fields of this system-dependent struct to 0
initially.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:57:52 +00:00
Vadim Zeitlin
e436c454e1 Fix wxKill(wxSIGNONE) always returning true for child processes in wxMSW.
The fact that a handle to a process can be opened doesn't mean that the
process is still running. In fact, for a child process that we store a handle
for ourselves we will always be able to open (another copy of the) handle even
if it already terminated.

Check for the process termination using WaitForSingleObject() instead in both
normal and wxSIGNONE cases.

Also simplify the code by not using GetExitCodeProcess() at all as we don't
need the process exit code.

Closes #2834.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:49:44 +00:00
Vadim Zeitlin
b54ceb72ce Remember last values used in exec sample "Kill" menu item dialogs.
Remember the PID entered in the dialog and also remember the last used signal
number. This makes these dialogs slightly less painful to use when testing
even though ideally we'd have a single dialog for choosing both values instead
of two consecutive modal dialogs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:49:25 +00:00
Vadim Zeitlin
732c0c4874 Very minor fixes to wxKill() documentation.
Fix "the the" typo.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:49:07 +00:00
Vadim Zeitlin
e19dbcf76b Use minimal required process access mask in wxMSW wxKill().
We don't need PROCESS_TERMINATE permission if we are not going to call
TerminateProcess() for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 21:48:48 +00:00
Vadim Zeitlin
38fd5bad72 Don't filter out Cairo libraries from GTK libraries list in configure.
This undoes the hack of r35357 which surreptitiously removed all Cairo
libraries from the GTK libraries list. This shouldn't be necessary any more as
we use Cairo calls in our own code and so can't run without it anyhow and in
fact is even actively harmful as it results in linking errors under Fedora 13
(which seems to use a slightly different linker?).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-09 20:59:10 +00:00