Mailing List Archive

r19357 - in projects/haf/trunk/libmatchbox2: . debian matchbox/core
Author: kihamala
Date: 2009-09-16 09:51:21 +0300 (Wed, 16 Sep 2009)
New Revision: 19357

Modified:
projects/haf/trunk/libmatchbox2/ChangeLog
projects/haf/trunk/libmatchbox2/debian/changelog
projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c
projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c
projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c
projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c
projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-types.h
Log:

Remove _NET_WM_ICON support since we don't use it and it has buggy
code. Fixes: NB#138792

* matchbox/core/mb-wm-client-window.c (icon_from_net_wm_icon):
Removed.
(mb_wm_client_window_sync_properties): Don't read _NET_WM_ICON.
* matchbox/core/mb-wm-root-window.c
(mb_wm_root_window_update_supported_props): Remove _NET_WM_ICON from
the list of supported properties.
* matchbox/core/mb-wm-types.h: Remove _NET_WM_ICON.
* matchbox/core/mb-wm-atoms.c (mb_wm_atoms_init): Remove _NET_WM_ICON.
* matchbox/core/mb-window-manager.c (mb_wm_handle_property_notify):
Remove _NET_WM_ICON specific code.



Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-09-16 06:51:21 UTC (rev 19357)
@@ -1,6 +1,25 @@
+2009-09-16 Kimmo Hämäläinen <kimmo.hamalainen@nokia.com>
+
+ Release 0.2.68
+
+ Remove _NET_WM_ICON support since we don't use it and it has buggy
+ code. Fixes: NB#138792
+
+ * matchbox/core/mb-wm-client-window.c (icon_from_net_wm_icon):
+ Removed.
+ (mb_wm_client_window_sync_properties): Don't read _NET_WM_ICON.
+ * matchbox/core/mb-wm-root-window.c
+ (mb_wm_root_window_update_supported_props): Remove _NET_WM_ICON from
+ the list of supported properties.
+ * matchbox/core/mb-wm-types.h: Remove _NET_WM_ICON.
+ * matchbox/core/mb-wm-atoms.c (mb_wm_atoms_init): Remove _NET_WM_ICON.
+ * matchbox/core/mb-window-manager.c (mb_wm_handle_property_notify):
+ Remove _NET_WM_ICON specific code.
+
2009-09-11 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>

- Stack dialogs correctly if transient_for is None.
+ Stack dialogs correctly if transient_for is None. This is the MB2 part
+ of the NB#131703 fix.

* matchbox/client-types/mb-wm-client-dialog.c:


Modified: projects/haf/trunk/libmatchbox2/debian/changelog
===================================================================
--- projects/haf/trunk/libmatchbox2/debian/changelog 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/debian/changelog 2009-09-16 06:51:21 UTC (rev 19357)
@@ -1,9 +1,13 @@
-matchbox-window-manager-2 (0.2.68-1~unreleased) unstable; urgency=low
+matchbox-window-manager-2 (0.2.68-1) unstable; urgency=low

- * foo
+ Kimmo:
+ * Fixes: NB#138792 - Desktop crashed in a scenario.

- -- Kimmo Hämäläinen <kimmo.hamalainen@nokia.com> Fri, 11 Sep 2009 13:35:21 +0300
+ Marc:
+ * The libmatchbox2 part of NB#131703 fix.

+ -- Kimmo Hämäläinen <kimmo.hamalainen@nokia.com> Wed, 16 Sep 2009 09:40:59 +0300
+
matchbox-window-manager-2 (0.2.67-1) unstable; urgency=low

Laszlo:

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-09-16 06:51:21 UTC (rev 19357)
@@ -610,8 +610,6 @@
flag = MBWM_WINDOW_PROP_NAME;
else if (xev->atom == wm->atoms[MBWM_ATOM_WM_HINTS])
flag = MBWM_WINDOW_PROP_WM_HINTS;
- else if (xev->atom == wm->atoms[MBWM_ATOM_NET_WM_ICON])
- flag = MBWM_WINDOW_PROP_NET_ICON;
else if (xev->atom == wm->atoms[MBWM_ATOM_WM_PROTOCOLS])
flag = MBWM_WINDOW_PROP_PROTOS;
else if (xev->atom == wm->atoms[MBWM_ATOM_WM_TRANSIENT_FOR])

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-atoms.c 2009-09-16 06:51:21 UTC (rev 19357)
@@ -61,7 +61,6 @@
"_NET_CLIENT_LIST_STACKING",
"_NET_CURRENT_DESKTOP",
"_NET_WM_DESKTOP",
- "_NET_WM_ICON",
"_NET_DESKTOP_GEOMETRY",
"_NET_WORKAREA",
"_NET_SHOWING_DESKTOP",

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-window.c 2009-09-16 06:51:21 UTC (rev 19357)
@@ -167,42 +167,6 @@
return win;
}

-/*
- * Creates MBWMIcon from raw _NET_WM_ICON property data, returning
- * pointer to where the next icon might be in the data
- */
-static unsigned long *
-icon_from_net_wm_icon (unsigned long * data, void ** mb_icon)
-{
- MBWMRgbaIcon * icon = mb_wm_rgba_icon_new ();
- size_t byte_len;
-
- *((MBWMRgbaIcon**)mb_icon) = icon;
-
- if (!icon)
- return 0;
-
- icon->width = *data++;
- icon->height = *data++;
-
- byte_len = sizeof (unsigned long) * icon->width * icon->height;
-
- /* don't support insanely big icons, limit 200kB */
- if (byte_len > 200 * 1024 || (icon->pixels = malloc (byte_len)) == NULL)
- {
- g_warning ("%s: won't/couldn't allocate %u bytes", __func__, byte_len);
- mb_wm_rgba_icon_free (icon);
- *mb_icon = NULL;
- return 0;
- }
-
- memcpy (icon->pixels, data, byte_len);
-
- MBWM_DBG("@@@ Icon %d x %d @@@", icon->width, icon->height);
-
- return (data + icon->width * icon->height);
-}
-
Bool
mb_wm_client_window_sync_properties ( MBWMClientWindow *win,
unsigned long props_req)
@@ -329,14 +293,6 @@
wm->atoms[MBWM_ATOM_NET_WM_PID]);
}

- if (props_req & MBWM_WINDOW_PROP_NET_ICON)
- {
- cookies[COOKIE_WIN_ICON]
- = mb_wm_property_cardinal_req (wm,
- xwin,
- wm->atoms[MBWM_ATOM_NET_WM_ICON]);
- }
-
if (props_req & MBWM_WINDOW_PROP_NET_USER_TIME)
{
cookies[COOKIE_WIN_USER_TIME]
@@ -1025,77 +981,6 @@
XFree (translucency);
}

- if (props_req & MBWM_WINDOW_PROP_NET_ICON)
- {
- unsigned char *icons = NULL;
-
- mb_wm_property_reply (wm,
- cookies[COOKIE_WIN_ICON],
- &actual_type_return,
- &actual_format_return,
- &nitems_return,
- &bytes_after_return,
- &icons,
- &x_error_code);
-
- if (x_error_code
- || actual_type_return != XA_CARDINAL
- || actual_format_return != 32
- || icons == NULL
- )
- {
- MBWM_DBG("### Warning net icon prop failed ###");
- if (x_error_code == BadWindow)
- goto badwindow_error;
- }
- else
- {
- MBWMList *l = win->icons;
- MBWMList *list_end = NULL;
- unsigned long *p = (unsigned long *)icons;
- unsigned long *p_end = (unsigned long *)icons + nitems_return;
-
- while (l)
- {
- MBWMRgbaIcon * ic = l->data;
-
- mb_wm_rgba_icon_free (ic);
-
- l = l->next;
- }
-
- while (p < p_end)
- {
- l = mb_wm_util_malloc0 (sizeof (MBWMList));
- if (!l || (p = icon_from_net_wm_icon (p, &l->data)) == 0)
- {
- /* zero return in case of OOM or too big icon */
- if (l)
- free (l);
- break;
- }
-
- if (list_end)
- {
- l->prev = list_end;
- list_end->next = l;
- }
- else
- {
- win->icons = l;
- }
-
- list_end = l;
- }
- }
-
- if (icons)
- XFree(icons);
-
- changes |= MBWM_WINDOW_PROP_NET_ICON;
-
- }
-
if (props_req & MBWM_WINDOW_PROP_NET_USER_TIME)
{
unsigned char *user_time = NULL;

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-root-window.c 2009-09-16 06:51:21 UTC (rev 19357)
@@ -215,7 +215,6 @@
wm->atoms[MBWM_ATOM_NET_CLIENT_LIST_STACKING],
wm->atoms[MBWM_ATOM_NET_SHOWING_DESKTOP],
wm->atoms[MBWM_ATOM_NET_WM_NAME],
- wm->atoms[MBWM_ATOM_NET_WM_ICON],
wm->atoms[MBWM_ATOM_NET_WM_ALLOWED_ACTIONS],
wm->atoms[MBWM_ATOM_NET_WM_ACTION_MOVE],
wm->atoms[MBWM_ATOM_NET_WM_ACTION_FULLSCREEN],

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-types.h
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-types.h 2009-09-15 13:09:33 UTC (rev 19356)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-types.h 2009-09-16 06:51:21 UTC (rev 19357)
@@ -232,7 +232,6 @@
MBWM_ATOM_NET_CLIENT_LIST_STACKING,
MBWM_ATOM_NET_CURRENT_DESKTOP,
MBWM_ATOM_NET_WM_DESKTOP,
- MBWM_ATOM_NET_WM_ICON,
MBWM_ATOM_NET_DESKTOP_GEOMETRY,
MBWM_ATOM_NET_WORKAREA,
MBWM_ATOM_NET_SHOWING_DESKTOP,

_______________________________________________
maemo-commits mailing list
maemo-commits@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-commits