2011-04-10 01:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtxwc/gtxwc.c
% undone small optimization in 2011-04-04 10:48 UTC+0200 Przemyslaw Czerpak
because it caused random app stalls where the app would only
continue if some input events were manually made. Cursor
blinking also only happened on input events.
I've seen this issue on Ubuntu 10.10 and latest OS X.
After this patch, it works OK again.
Przemek, please review this patch, most probably there is
a solution which keeps the optimization and avoids this problem.
This commit is contained in:
@@ -16,6 +16,17 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2011-04-10 01:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/gtxwc/gtxwc.c
|
||||
% undone small optimization in 2011-04-04 10:48 UTC+0200 Przemyslaw Czerpak
|
||||
because it caused random app stalls where the app would only
|
||||
continue if some input events were manually made. Cursor
|
||||
blinking also only happened on input events.
|
||||
I've seen this issue on Ubuntu 10.10 and latest OS X.
|
||||
After this patch, it works OK again.
|
||||
Przemek, please review this patch, most probably there is
|
||||
a solution which keeps the optimization and avoids this problem.
|
||||
|
||||
2011-04-10 01:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/src/rtl/cdpapi.c
|
||||
! some fixes for future CPs which may have together multibyte
|
||||
|
||||
@@ -2945,23 +2945,19 @@ static void hb_gt_xwc_ProcessMessages( PXWND_DEF wnd )
|
||||
}
|
||||
|
||||
#if 1
|
||||
if( XEventsQueued( wnd->dpy, QueuedAfterFlush ) )
|
||||
do
|
||||
{
|
||||
do
|
||||
while( XEventsQueued( wnd->dpy, QueuedAfterFlush ) )
|
||||
{
|
||||
do
|
||||
{
|
||||
XEvent evt;
|
||||
XNextEvent( wnd->dpy, &evt );
|
||||
hb_gt_xwc_WndProc( wnd, &evt );
|
||||
}
|
||||
while( XEventsQueued( wnd->dpy, QueuedAfterFlush ) );
|
||||
hb_gt_xwc_UpdateSize( wnd );
|
||||
hb_gt_xwc_UpdatePts( wnd );
|
||||
hb_gt_xwc_UpdateCursor( wnd );
|
||||
XEvent evt;
|
||||
XNextEvent( wnd->dpy, &evt );
|
||||
hb_gt_xwc_WndProc( wnd, &evt );
|
||||
}
|
||||
while( XEventsQueued( wnd->dpy, QueuedAfterFlush ) );
|
||||
hb_gt_xwc_UpdateSize( wnd );
|
||||
hb_gt_xwc_UpdatePts( wnd );
|
||||
hb_gt_xwc_UpdateCursor( wnd );
|
||||
}
|
||||
while( XEventsQueued( wnd->dpy, QueuedAfterFlush ) );
|
||||
#else
|
||||
{
|
||||
HB_BOOL fRepeat;
|
||||
|
||||
Reference in New Issue
Block a user