handle configurerequests on unmanaged windows again
authorDana Jansens <danakj@orodu.net>
Fri, 11 Jun 2010 21:10:06 +0000 (17:10 -0400)
committerDana Jansens <danakj@orodu.net>
Sat, 26 Jun 2010 23:30:49 +0000 (01:30 +0200)
openbox/event.c

index 553c221..961e824 100644 (file)
@@ -730,26 +730,6 @@ static void event_process(const XEvent *ec, gpointer data)
             client_fake_unmanage(c);
         }
     }
-    else if (e->type == ConfigureRequest) {
-        /* unhandled configure requests must be used to configure the
-           window directly */
-        XWindowChanges xwc;
-
-        xwc.x = e->xconfigurerequest.x;
-        xwc.y = e->xconfigurerequest.y;
-        xwc.width = e->xconfigurerequest.width;
-        xwc.height = e->xconfigurerequest.height;
-        xwc.border_width = e->xconfigurerequest.border_width;
-        xwc.sibling = e->xconfigurerequest.above;
-        xwc.stack_mode = e->xconfigurerequest.detail;
-
-        /* we are not to be held responsible if someone sends us an
-           invalid request! */
-        obt_display_ignore_errors(TRUE);
-        XConfigureWindow(obt_display, window,
-                         e->xconfigurerequest.value_mask, &xwc);
-        obt_display_ignore_errors(FALSE);
-    }
 #ifdef SYNC
     else if (obt_display_extension_sync &&
              e->type == obt_display_extension_sync_basep + XSyncAlarmNotify)
@@ -1806,6 +1786,7 @@ static void event_handle_dock(ObDock *s, XEvent *e)
 static void event_handle_unmanaged(ObUnmanaged *um, XEvent *e)
 {
     Window w;
+    XWindowChanges xwc;
 
     switch (e->type) {
     case PropertyNotify:
@@ -1820,6 +1801,22 @@ static void event_handle_unmanaged(ObUnmanaged *um, XEvent *e)
         unmanaged_destroy(um);
         window_manage(w);
         break;
+    case ConfigureRequest:
+        xwc.x = e->xconfigurerequest.x;
+        xwc.y = e->xconfigurerequest.y;
+        xwc.width = e->xconfigurerequest.width;
+        xwc.height = e->xconfigurerequest.height;
+        xwc.border_width = e->xconfigurerequest.border_width;
+        xwc.sibling = e->xconfigurerequest.above;
+        xwc.stack_mode = e->xconfigurerequest.detail;
+
+        /* we are not to be held responsible if someone sends us an
+           invalid request! */
+        obt_display_ignore_errors(TRUE);
+        XConfigureWindow(obt_display, e->xconfigurerequest.window,
+                         e->xconfigurerequest.value_mask, &xwc);
+        obt_display_ignore_errors(FALSE);
+        break;
     }
 }