wxGTK, wxLogGui, mouse capture, brings down Gnome

Arne Steinarson asteinarson at yahoo.se
Mon Jul 2 02:58:07 PDT 2007


Hello, 

When the wxLogGui instance receives logging and while
a window has mouse capture, using the log functions
then... brings down the whole Gnome GTK environment.

Nothing to do but to shut restart the whole desktop,
because of the modal message box.

Apparently this is a 'feature' of GTK, once something
has mouse capture, input cannot go anywhere else, and
it's impossible to close the modal dialog. And, the
whole desktop is dead also (even keyboard! [except
some Ctrl-Backspace]).

I saw some Eclipse notes on the subject, they had made
the experience that any mouse capture must be removed
before showing a modal dialog.

Exactly the same problem is triggered by hitting a
breakpoint while some window has capture. 

So this is an oddity of GTK, but I think wxWidgets
must  check for this before showing message dialog,
since otherwise one has to do clever workarounds for
the problem.

I'll file a bug report.

Regards
// Arne S.


--- Arne Steinarson <asteinarson at yahoo.se> skrev:

> Hi,
> 
> You have to override virtual func:
> 
> wxWindow::MSWWindowProc(WXUINT message, WXWPARAM
> wParam, WXLPARAM lParam);
> 
> Regards
> // Arne S.
> 
> 
> --- rozni yusof <rozniy at gmail.com> skrev:
> 
> > I went right into wxWidgets right after learning
> > C++. Now I need to process
> > a Windows Message in my wxWidgets app, which the
> > wxWidgets FAQ says is
> > indeed possible... but I'm a bit clueless, having
> > skipped Win32 programming
> > (or MFC for that matter) to go wx.
> > 
> > I take it wxWindow::GetHWND() (suggested by the
> > wxWidgets FAQ)has been
> > superceeded by wxWindow::GetHandle? For GetHWND()
> is
> > nowhere in my wxWidgets
> > 2.6.2 Manual.
> > 
> > I would need to override a virtual MSWWindowProc()
> > method in a
> > wxWindow-derived class, says the FAQ? Then, "You
> > should then test if
> > nMsgparameter is the message you need to process
> and
> > perform the
> > necessary
> > action if it is or call the base class method
> > otherwise."
> > 
> > It's that Data Acquisition card thing again, which
> > I'm trying to turn into a
> > pulse-frequency measurer...
> > 
> > To quote:
> > Use the olDaMeasureFrequency function to specify
> the
> > duration
> > of the Windows timer (which has a resolution of 1
> > ms) and to
> > start the frequency measurement operation. (OK...)
> > 
> > When the operation is complete, the
> > OLDA_WM_MEASURE_DONE message is generated. Use the
> > LongtoFreq (lParam) macro, described in the
> DataAcq
> > SDK
> > online help, to get the measured frequency value.
> > 
> > 
> > I'm OK with all the preceding steps... now I need
> to
> > catch this Windows
> > Message!
> > 
> 
> 
> - - -
> 
> 
>      
>
__________________________________________________________
> Hitta din nästa resa på Yahoo! Shopping.
> Jämför pris på flygbiljetter och hotellrum här:
>
http://shopping.yahoo.se/b/a/c_169901_resor_biljetter.html?partnerId=96914052
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> wx-users-unsubscribe at lists.wxwidgets.org
> For additional commands, e-mail:
> wx-users-help at lists.wxwidgets.org
> 
> 


- - -


      __________________________________________________________
Hitta din nästa resa på Yahoo! Shopping.
Jämför pris på flygbiljetter och hotellrum här:
http://shopping.yahoo.se/b/a/c_169901_resor_biljetter.html?partnerId=96914052




More information about the wx-users mailing list