[maemo-commits] [maemo-commits] r19080 - in projects/haf/trunk/gtk+: . gdk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Aug 6 15:43:13 EEST 2009
- Previous message: [maemo-commits] r19079 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r19081 - projects/haf/trunk/sapwood/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: herzi Date: 2009-08-06 15:42:59 +0300 (Thu, 06 Aug 2009) New Revision: 19080 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/gdk/gdkwindow.c Log: 2009-08-06 Sven Herzberg <herzi at lanedo.com> Fixes: NB#129361 - [AF checked] compositing issues with rgba sapwood/gtk+ * gdk/gdkwindow.c (gdk_window_new), (gdk_window_end_paint): provide the information that the compositor needs Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2009-08-06 12:42:31 UTC (rev 19079) +++ projects/haf/trunk/gtk+/ChangeLog 2009-08-06 12:42:59 UTC (rev 19080) @@ -1,5 +1,13 @@ 2009-08-06 Sven Herzberg <herzi at lanedo.com> + Fixes: NB#129361 - [AF checked] compositing issues with rgba + sapwood/gtk+ + + * gdk/gdkwindow.c (gdk_window_new), (gdk_window_end_paint): provide + the information that the compositor needs + +2009-08-06 Sven Herzberg <herzi at lanedo.com> + Fixes: NB#89864 - [AF Checked] RGBA support * gtk/gtktreeview.c (gtk_tree_view_realize), Modified: projects/haf/trunk/gtk+/gdk/gdkwindow.c =================================================================== --- projects/haf/trunk/gtk+/gdk/gdkwindow.c 2009-08-06 12:42:31 UTC (rev 19079) +++ projects/haf/trunk/gtk+/gdk/gdkwindow.c 2009-08-06 12:42:59 UTC (rev 19080) @@ -35,6 +35,11 @@ #include "gdkscreen.h" #include "gdkalias.h" +#ifdef MAEMO_CHANGES +#include <X11/Xatom.h> +#include "x11/gdkx.h" +#endif + #define USE_BACKING_STORE /* Appears to work on Win32, too, now. */ typedef struct _GdkWindowPaint GdkWindowPaint; @@ -391,6 +396,25 @@ gdk_window_set_composited (window, TRUE); gdk_window_set_auto_composite (window, TRUE); } + + /* set a flag to tell the window manager that we don't intend to use the + * alpha value; we use RGBA windows because we want to avoid BadMatch errors + * but as XFillRectangle() (called by the GtkWindow's expose handler) doesn't + * set the alpha value to 1.0 (instead it keeps it on 0.0), we have to tell + * the window manager, that we are not really invisible */ + if (attributes->window_type == GDK_WINDOW_TOPLEVEL) + { + Atom property = XInternAtom (GDK_WINDOW_XDISPLAY (window), "_MAEMO_IGNORE_ALPHA", True); + guint32 data = 1; + XChangeProperty (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + property, + XA_CARDINAL, + 32, + PropModeReplace, + (guchar*) &data, + 1); + } #endif return window; @@ -1211,7 +1235,9 @@ { #ifdef USE_BACKING_STORE GdkWindowObject *private = (GdkWindowObject *)window; +#ifndef MAEMO_CHANGES GdkWindowObject *composited; +#endif GdkWindowPaint *paint; GdkGC *tmp_gc; #ifdef MAEMO_CHANGES
- Previous message: [maemo-commits] r19079 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r19081 - projects/haf/trunk/sapwood/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]