[rkward-cvs] SF.net SVN: rkward: [1901] trunk/rkward

tfry at users.sourceforge.net tfry at users.sourceforge.net
Thu May 10 21:18:22 UTC 2007


Revision: 1901
          http://svn.sourceforge.net/rkward/?rev=1901&view=rev
Author:   tfry
Date:     2007-05-10 14:18:21 -0700 (Thu, 10 May 2007)

Log Message:
-----------
Properly synchronize X11 events when trying to detect X11 windows

Modified Paths:
--------------
    trunk/rkward/ChangeLog
    trunk/rkward/rkward/rkwardapplication.cpp

Modified: trunk/rkward/ChangeLog
===================================================================
--- trunk/rkward/ChangeLog	2007-05-10 18:54:02 UTC (rev 1900)
+++ trunk/rkward/ChangeLog	2007-05-10 21:18:21 UTC (rev 1901)
@@ -1,3 +1,4 @@
+- fixed: sometimes detecting created X11() windows would fail, esp. under high load
 - create the workspace browser only when it is first shown
 - support for including files and snippets in xml files		TODO: use more
 - all file selection line edits gain filename-completion

Modified: trunk/rkward/rkward/rkwardapplication.cpp
===================================================================
--- trunk/rkward/rkward/rkwardapplication.cpp	2007-05-10 18:54:02 UTC (rev 1900)
+++ trunk/rkward/rkward/rkwardapplication.cpp	2007-05-10 21:18:21 UTC (rev 1901)
@@ -57,12 +57,19 @@
 	detect_x11_creations = true;
 
 	XSelectInput (qt_xdisplay (), qt_xrootwin (), SubstructureNotifyMask);
+	syncX ();	// this is to make sure we don't miss out on the window creation (if it happens very early). Testing shows, we really need this.
 }
 
 WId RKWardApplication::endWindowCreationDetection () {
 	RK_TRACE (APP);
 	RK_ASSERT (detect_x11_creations);
 
+	if (!created_window) {
+		// we did not see the window, yet? Maybe the event simply hasn't been processed, yet.
+		syncX();
+		processEvents ();
+	}
+
 	detect_x11_creations = false;
 	XSelectInput (qt_xdisplay (), qt_xrootwin (), NoEventMask);
 	return created_window;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list