[maemo-commits] [maemo-commits] r18597 - in projects/haf/trunk/libmatchbox2: . debian matchbox/comp-mgr matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jun 3 18:29:46 EEST 2009
- Previous message: [maemo-commits] r18596 - in projects/haf/trunk/freetype: . debian
- Next message: [maemo-commits] r18598 - projects/haf/tags/freetype
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kihamala Date: 2009-06-03 18:29:35 +0300 (Wed, 03 Jun 2009) New Revision: 18597 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/debian/changelog projects/haf/trunk/libmatchbox2/debian/control projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c Log: fixes to non-compositing mode support Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-06-03 15:29:35 UTC (rev 18597) @@ -1,3 +1,14 @@ +2009-06-03 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> + + * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.[ch] + (mb_wm_comp_mgr_clutter_set_client_redirection): New function to + toggle redirection for the compositor's client object. + (mb_wm_comp_mgr_clutter_client_track_damage): Set the texture window + to zero when toggling damage tracking off. + * matchbox/core/mb-window-manager.c (mb_wm_unredirect_client): Update + Clutter's idea about redirection before changing it in the X side. + (mb_wm_setup_redirection): Update Clutter's idea about redirection. + 2009-06-01 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c Modified: projects/haf/trunk/libmatchbox2/debian/changelog =================================================================== --- projects/haf/trunk/libmatchbox2/debian/changelog 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/debian/changelog 2009-06-03 15:29:35 UTC (rev 18597) @@ -1,6 +1,8 @@ matchbox-window-manager-2 (0.2.42-1~unreleased) unstable; urgency=low - * foo + Kimmo: + * Fixes to non-compositing mode support. + * Update libclutter-dev build dependency because of new API there. -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Mon, 1 Jun 2009 08:29:17 +0300 Modified: projects/haf/trunk/libmatchbox2/debian/control =================================================================== --- projects/haf/trunk/libmatchbox2/debian/control 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/debian/control 2009-06-03 15:29:35 UTC (rev 18597) @@ -2,7 +2,7 @@ Section: libs Priority: optional Maintainer: Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> -Build-Depends: cdbs (>= 0.4.21), debhelper (>= 4.1.0), pkg-config (>= 0.18), libx11-dev, x11proto-core-dev, libxext-dev, libxt-dev, libglib2.0-dev, libpng12-dev, libpango1.0-dev, libxcomposite-dev, libxdamage-dev, libclutter-0.8-dev (> 0.8.2-0maemo13) +Build-Depends: cdbs (>= 0.4.21), debhelper (>= 4.1.0), pkg-config (>= 0.18), libx11-dev, x11proto-core-dev, libxext-dev, libxt-dev, libglib2.0-dev, libpng12-dev, libpango1.0-dev, libxcomposite-dev, libxdamage-dev, libclutter-0.8-dev (>> 0.8.2-0maemo34) Standards-Version: 3.8.0 Package: libmatchbox2-dev Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c 2009-06-03 15:29:35 UTC (rev 18597) @@ -160,6 +160,20 @@ } } +/* Clutter sets XComposite redirection for windows corresponding to textures; + * this function is used to toggle redirection within Clutter. */ +void __attribute__ ((visibility("hidden"))) +mb_wm_comp_mgr_clutter_set_client_redirection (MBWMCompMgrClient *client, + gboolean setting) +{ + MBWMCompMgrClutterClient *cclient = MB_WM_COMP_MGR_CLUTTER_CLIENT(client); + + if (cclient->priv->texture) + clutter_x11_texture_pixmap_set_redirection ( + CLUTTER_X11_TEXTURE_PIXMAP (cclient->priv->texture), + setting); +} + /** * Fetch the entire texture for our client */ @@ -1029,6 +1043,12 @@ g_debug ("XDamageDestroy(0x%lx) for %p: %d", cclient->priv->window_damage, c, err); cclient->priv->window_damage = 0; + + if (cclient->priv->texture) + /* release the window in Clutter */ + clutter_x11_texture_pixmap_set_window ( + CLUTTER_X11_TEXTURE_PIXMAP (cclient->priv->texture), + 0, FALSE); } } Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h 2009-06-03 15:29:35 UTC (rev 18597) @@ -123,4 +123,8 @@ ClutterActor * mb_wm_comp_mgr_clutter_get_arena (MBWMCompMgrClutter *cmgr); +void __attribute__ ((visibility("hidden"))) +mb_wm_comp_mgr_clutter_set_client_redirection (MBWMCompMgrClient *client, + gboolean setting); + #endif Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-06-03 15:21:45 UTC (rev 18596) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-06-03 15:29:35 UTC (rev 18597) @@ -739,37 +739,40 @@ mb_wm_unredirect_client (MBWindowManager *wm, MBWindowManagerClient *client) { - if (client->xwin_frame) - { - XCompositeUnredirectWindow (wm->xdpy, client->xwin_frame, - CompositeRedirectManual); - XCompositeUnredirectSubwindows (wm->xdpy, client->xwin_frame, - CompositeRedirectManual); - XCompositeRedirectWindow (wm->xdpy, client->xwin_frame, - CompositeRedirectAutomatic); - } - else - { - XCompositeUnredirectWindow (wm->xdpy, client->window->xwindow, - CompositeRedirectManual); - XCompositeUnredirectSubwindows (wm->xdpy, client->window->xwindow, - CompositeRedirectManual); - } + if (client->cm_client) + mb_wm_comp_mgr_clutter_set_client_redirection (client->cm_client, FALSE); + + if (client->xwin_frame) + { + XCompositeUnredirectWindow (wm->xdpy, client->xwin_frame, + CompositeRedirectManual); + XCompositeUnredirectSubwindows (wm->xdpy, client->xwin_frame, + CompositeRedirectManual); + } } void mb_wm_setup_redirection (MBWindowManager *wm, int redirection) { + MBWindowManagerClient *c; Window root_win = wm->root_win->xwindow; if (redirection) { + for (c = wm->stack_bottom; c; c = c->stacked_above) + if (c->cm_client) + mb_wm_comp_mgr_clutter_set_client_redirection (c->cm_client, TRUE); + XCompositeRedirectSubwindows (wm->xdpy, root_win, CompositeRedirectManual); wm->non_redirection = False; } else { + for (c = wm->stack_bottom; c; c = c->stacked_above) + if (c->cm_client) + mb_wm_comp_mgr_clutter_set_client_redirection (c->cm_client, FALSE); + XCompositeUnredirectSubwindows (wm->xdpy, root_win, CompositeRedirectManual); wm->non_redirection = True;
- Previous message: [maemo-commits] r18596 - in projects/haf/trunk/freetype: . debian
- Next message: [maemo-commits] r18598 - projects/haf/tags/freetype
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]