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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue May 5 18:00:47 EEST 2009
Author: kihamala
Date: 2009-05-05 18:00:40 +0300 (Tue, 05 May 2009)
New Revision: 18246

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-decor.c
Log:
revert removal of the monster hack to make Calendar visible again...

Apply patch from Laszlo



Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-05-05 14:35:52 UTC (rev 18245)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-05-05 15:00:40 UTC (rev 18246)
@@ -1,14 +1,17 @@
 2009-05-05  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
 
+	Applied a patch from Laszlo for NB#113598:
+	* matchbox/core/mb-wm-decor.c (mb_wm_decor_destroy): Remove
+	ButtonRelease handler as well.
+	(mb_wm_decor_button_destroy): Move code from
+	mb_wm_decor_button_unrealize to here.
+
 	Applied a fixed patch from Laszlo for NB#110527:
 	* matchbox/core/mb-wm-client-window.c (mb_wm_client_window_init):
 	Remove the XSelectInput call.
 	* matchbox/core/mb-wm-client-base.c (mb_wm_client_base_realize): Call
 	XSelectInput here and read the transiency property also.
 
-	* matchbox/core/mb-wm-client-window.c
-	(mb_wm_client_window_sync_properties): Remove the 'monster hack' for
-	800x480 windows, everything seems to work without it.
 	* matchbox/client-types/mb-wm-client-menu.c (mb_wm_client_menu_init):
 	Add support for fixing NB#101437 -- some parts of the code need to be
 	removed after the widget side uses the negative coordinates system for

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c	2009-05-05 14:35:52 UTC (rev 18245)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c	2009-05-05 15:00:40 UTC (rev 18246)
@@ -550,6 +550,12 @@
 	  goto abort;
 	}
 
+      /* FIXME: Monster Hack to make Browser visible (800x480 was a problem) */
+      if (win->x_geometry.width >= wm->xdpy_width)
+	      win->x_geometry.width = wm->xdpy_width - 1;
+      if (win->x_geometry.height >= wm->xdpy_height)
+	      win->x_geometry.height = wm->xdpy_height - 1;
+
       MBWM_DBG("@@@ New Window Obj @@@");
       MBWM_DBG("Win:  %lx", win->xwindow);
       MBWM_DBG("Type: %lx",win->net_type);

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-decor.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-decor.c	2009-05-05 14:35:52 UTC (rev 18245)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-decor.c	2009-05-05 15:00:40 UTC (rev 18246)
@@ -693,6 +693,13 @@
 					       decor->press_cb_id);
     decor->press_cb_id = 0;
   }
+  
+  if (decor->release_cb_id)
+  {
+    mb_wm_main_context_x_event_handler_remove (ctx, ButtonRelease,
+					     decor->release_cb_id);
+    decor->release_cb_id = 0;
+  }
 
   if (decor->xwin != None)
     {
@@ -787,6 +794,9 @@
   MBWMList        *transients = NULL;
   Bool             retval = True;
 
+  if (!button->realized)
+    return False;
+  
   mb_wm_object_ref (MB_WM_OBJECT(button));
 
   if (xev->window == decor->xwin)
@@ -1147,12 +1157,30 @@
 static void
 mb_wm_decor_button_destroy (MBWMObject* obj)
 {
-  //MBWMDecorButton * button = MB_WM_DECOR_BUTTON (obj);
+  MBWMDecorButton * button = MB_WM_DECOR_BUTTON (obj);
+  MBWMMainContext * ctx = button->decor->parent_client->wmref->main_ctx;
   /*
    * We are doing the job in the mb_wm_decor_button_unrealize() while the
    * decoration still exists.
    */
+  mb_wm_main_context_x_event_handler_remove (ctx, ButtonPress,
+					     button->press_cb_id);
+  button->press_cb_id = 0;
 
+  if (button->userdata && button->destroy_userdata)
+    {
+      button->destroy_userdata (button, button->userdata);
+      button->userdata = NULL;
+      button->destroy_userdata = NULL;
+    }
+
+  if (button->themedata && button->destroy_themedata)
+    {
+      button->destroy_themedata (button, button->themedata);
+      button->themedata = NULL;
+      button->destroy_themedata = NULL;
+    }
+
 }
 
 static void
@@ -1178,26 +1206,6 @@
 static void
 mb_wm_decor_button_unrealize (MBWMDecorButton *button)
 {
-  MBWMMainContext * ctx = button->decor->parent_client->wmref->main_ctx;
-
-  mb_wm_main_context_x_event_handler_remove (ctx, ButtonPress,
-					     button->press_cb_id);
-  button->press_cb_id = 0;
-
-  if (button->userdata && button->destroy_userdata)
-    {
-      button->destroy_userdata (button, button->userdata);
-      button->userdata = NULL;
-      button->destroy_userdata = NULL;
-    }
-
-  if (button->themedata && button->destroy_themedata)
-    {
-      button->destroy_themedata (button, button->themedata);
-      button->themedata = NULL;
-      button->destroy_themedata = NULL;
-    }
-
   button->realized = False;
 }
 


More information about the maemo-commits mailing list