[maemo-commits] [maemo-commits] r17661 - in projects/haf/trunk/libmatchbox2: . matchbox/core

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Mar 12 19:20:04 EET 2009
Author: tthurman
Date: 2009-03-12 19:20:01 +0200 (Thu, 12 Mar 2009)
New Revision: 17661

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-main-context.c
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c
Log:
	Root window handler gets to examine all the ClientMessages
	sent (in accordance with the TODO) rather than special-casing.
	Fixes: NB#105405
	* matchbox/core/mb-wm-main-context.c:
	* matchbox/core/mb-wm-root-window.c:



Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-12 17:16:55 UTC (rev 17660)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-12 17:20:01 UTC (rev 17661)
@@ -1,3 +1,13 @@
+2009-03-12  Thomas Thurman  <thomas.thurman at collabora.co.uk>
+
+	Root window handler gets to examine all the ClientMessages
+	sent (in accordance with the TODO) rather than special-casing.
+
+	Fixes: NB#105405
+	
+	* matchbox/core/mb-wm-main-context.c:
+	* matchbox/core/mb-wm-root-window.c:
+
 2009-03-12  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
 
 	Release 0.2.21

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-main-context.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-main-context.c	2009-03-12 17:16:55 UTC (rev 17660)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-main-context.c	2009-03-12 17:20:01 UTC (rev 17661)
@@ -226,35 +226,27 @@
   switch (xev->type)
     {
     case ClientMessage:
-      /*
-       * TODO -- perhaps this should not be special-cased.
-       */
-      if (xev->xany.window == wm->root_win->xwindow ||
-	  ((XClientMessageEvent *)xev)->message_type ==
-	  wm->atoms[MBWM_ATOM_NET_ACTIVE_WINDOW] ||
-	  ((XClientMessageEvent *)xev)->message_type ==
-	  wm->atoms[MBWM_ATOM_NET_WM_STATE])
+      /* give the EWMH handler the first crack at it */
+      if (!mb_wm_root_window_handle_message (wm->root_win,
+					     (XClientMessageEvent *)xev))
 	{
-	  mb_wm_root_window_handle_message (wm->root_win,
-					    (XClientMessageEvent *)xev);
-	}
+	  iter = ctx->event_funcs.client_message;
 
-      iter = ctx->event_funcs.client_message;
-
-      while (iter)
-	{
-	  Window msg_xwin = XE_ITER_GET_XWIN(iter);
-	  MBWMList * next = iter->next;
-
-	  if (msg_xwin == None || msg_xwin == xwin)
+	  while (iter)
 	    {
-	      if (!(MBWindowManagerClientMessageFunc)XE_ITER_GET_FUNC(iter)
-		  ((XClientMessageEvent*)&xev->xclient,
-		   XE_ITER_GET_DATA(iter)))
-		break;
+	      Window msg_xwin = XE_ITER_GET_XWIN(iter);
+	      MBWMList * next = iter->next;
+	      
+	      if (msg_xwin == None || msg_xwin == xwin)
+		{
+		  if (!(MBWindowManagerClientMessageFunc)XE_ITER_GET_FUNC(iter)
+		      ((XClientMessageEvent*)&xev->xclient,
+		       XE_ITER_GET_DATA(iter)))
+		    break;
+		}
+	      
+	      iter = next;
 	    }
-
-	  iter = next;
 	}
       break;
     case Expose:

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c	2009-03-12 17:16:55 UTC (rev 17660)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c	2009-03-12 17:20:01 UTC (rev 17661)
@@ -416,6 +416,7 @@
 	case IconicState:
 	  if ((c = mb_wm_managed_client_from_xwindow (wm, e->window)))
 	    mb_wm_client_iconize (c);
+	  return 1;
 
 	default:
 	  MBWM_DBG ("Unhandled value %d for WM_CHANGE_STATE ClientMessage",
@@ -438,22 +439,23 @@
 	 {
 	 case MB_CMD_EXIT:
 	   exit(0);
+	   return 1; /* keep the compiler from getting confused */
 	 case MB_CMD_NEXT:
 	   mb_wm_cycle_apps (wm, False);
-	   break;
+	   return 1;
 	 case MB_CMD_PREV:
 	   mb_wm_cycle_apps (wm, True);
-	   break;
+	   return 1;
 	 case MB_CMD_DESKTOP:
 	   mb_wm_toggle_desktop (wm);
-	   break;
+	   return 1;
 #if ENABLE_COMPOSITE
 	 case MB_CMD_COMPOSITE:
 	   if (mb_wm_compositing_enabled (wm))
 	     mb_wm_compositing_off (wm);
 	   else
 	     mb_wm_compositing_on (wm);
-	   break;
+	   return 1;
 #endif
 	 default:
 	   /*FIXME -- not implemented yet */
@@ -461,8 +463,6 @@
 	   ;
 	 }
     }
-  else
-    g_debug ("%s: unknown ClientMessage", __FUNCTION__);
 
   return 0;
 }


More information about the maemo-commits mailing list