lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] wxmsw-2.9.0 regression: messagebox doubling


From: Vadim Zeitlin
Subject: Re: [lmi] wxmsw-2.9.0 regression: messagebox doubling
Date: Thu, 26 Feb 2009 16:28:48 +0100

On Tue, 24 Feb 2009 15:25:22 +0000 Greg Chicares <address@hidden> wrote:

GC>   File | New | Illustration
GC>   OK
GC>   Test | [...] application | Test fatal-error alert
GC> 
GC> Two fatal-error messageboxen appear. The desired behavior, which
GC> is observed with wx-2.8.9, is that only one messagebox appears.
...
GC> What seems to matter is whether at least one MDI-child window exists.
GC> It doesn't matter whether the MDI child is minimized. Closing all MDI
GC> children inhibits the double-messagebox behavior.

 After becoming able to reproduce this problem I had no troubles
understanding the cause of this behaviour: it's a bug in wxMDIParentFrame
which processes the same WM_COMMAND Windows message twice, first in
wxMDIChildFrame (if there is an active MDI child) and then, if it wasn't
handled, in wxMDIParentFrame itself. This results in the problem that you
see because if an exception is thrown from an event handler the event is
considered to not have been handled (this is not always ideal as sometimes
we could consider that event was handled, albeit unsuccessfully, but it's
definitely better than the alternative of always considering it as having
been handled) but it also means that skipping the event in child frame
handlers didn't work correctly so this really needed to be fixed at wx
level.

 This should be done now by r59162, please see

    http://svn.wxwidgets.org/viewvc/wx?view=rev&revision=59162

If you don't want to take this patch from svn, you should be able to get it
as part of tomorrow snapshot.

 Please let me know if you still have this problem (or notice any other new
ones) after this change.

 Thanks in advance!
VZ

reply via email to

[Prev in Thread] Current Thread [Next in Thread]