Author: AlbrechtS
Date: 2010-06-15 00:49:26 -0700 (Tue, 15 Jun 2010)
New Revision: 7640
Log:
Fixed regressions introduced with svn -r 7627.


Modified:
   branches/branch-1.3/src/Fl_x.cxx

Modified: branches/branch-1.3/src/Fl_x.cxx
===================================================================
--- branches/branch-1.3/src/Fl_x.cxx    2010-06-14 02:02:33 UTC (rev 7639)
+++ branches/branch-1.3/src/Fl_x.cxx    2010-06-15 07:49:26 UTC (rev 7640)
@@ -138,7 +138,9 @@
 
 void Fl::remove_fd(int n, int events) {
   int i,j;
+# if !USE_POLL
   maxfd = -1; // recalculate maxfd on the fly
+# endif
   for (i=j=0; i<nfds; i++) {
 #  if USE_POLL
     if (pollfds[i].fd == n) {
@@ -152,8 +154,8 @@
       if (!e) continue; // if no events left, delete this fd
       fd[i].events = e;
     }
+    if (fd[i].fd > maxfd) maxfd = fd[i].fd;
 #  endif
-    if (fd[i].fd > maxfd) maxfd = fd[i].fd;
     // move it down in the array if necessary:
     if (j<i) {
       fd[j] = fd[i];
@@ -1588,6 +1590,13 @@
     XFree(hints);
   }
 
+  // set the window type for menu and tooltip windows to avoid animations 
(compiz)
+  if (win->menu_window() || win->tooltip_window()) {
+    Atom net_wm_type = XInternAtom(fl_display, "_NET_WM_WINDOW_TYPE", False);
+    Atom net_wm_type_kind = XInternAtom(fl_display, 
"_NET_WM_WINDOW_TYPE_MENU", False);
+    int ret = XChangeProperty(fl_display, xp->xid, net_wm_type, XA_ATOM, 32, 
PropModeReplace, (unsigned char*)&net_wm_type_kind, 1);
+  }
+
   XMapWindow(fl_display, xp->xid);
   if (showit) {
     win->set_visible();

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to