Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 253309 Details for
Bug 344293
x11-wm/compiz-0.8* compilation fails with x11-libs/gtk+-2.22* with >= portage-2.2.0_alpha2 on amd64
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch one of two, replacing deprecated and removed GDK functions
compiz_gdk-deprecation-1.patch (text/plain), 4.43 KB, created by
Mr. B
on 2010-11-05 17:34:59 UTC
(
hide
)
Description:
Patch one of two, replacing deprecated and removed GDK functions
Filename:
MIME Type:
Creator:
Mr. B
Created:
2010-11-05 17:34:59 UTC
Size:
4.43 KB
patch
obsolete
>From 777e5ecdb197105f770e7bcedd83eb54c53457f3 Mon Sep 17 00:00:00 2001 >From: Danny Baumann <dannybaumann@web.de> >Date: Mon, 06 Sep 2010 09:25:02 +0000 >Subject: Replace old gdk_draw_drawable method calls with cairo equivalents. > >--- >diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c >index 18b907e..adb20d5 100644 >--- a/gtk/window-decorator/gtk-window-decorator.c >+++ b/gtk/window-decorator/gtk-window-decorator.c >@@ -380,7 +380,7 @@ typedef struct _decor { > guint button_states[BUTTON_NUM]; > GdkPixmap *pixmap; > GdkPixmap *buffer_pixmap; >- GdkGC *gc; >+ cairo_t *cr; > decor_layout_t border_layout; > decor_context_t *context; > decor_shadow_t *shadow; >@@ -918,6 +918,17 @@ button_state_paint (cairo_t *cr, > } > > static void >+copy_to_front_buffer (decor_t *d) >+{ >+ if (!d->buffer_pixmap) >+ return; >+ >+ cairo_set_operator (d->cr, CAIRO_OPERATOR_SOURCE); >+ gdk_cairo_set_source_pixmap (d->cr, d->buffer_pixmap, 0, 0); >+ cairo_paint (d->cr); >+} >+ >+static void > draw_window_decoration (decor_t *d) > { > cairo_t *cr; >@@ -1298,16 +1309,7 @@ draw_window_decoration (decor_t *d) > > cairo_destroy (cr); > >- if (d->buffer_pixmap) >- gdk_draw_drawable (d->pixmap, >- d->gc, >- d->buffer_pixmap, >- 0, >- 0, >- 0, >- 0, >- d->width, >- d->height); >+ copy_to_front_buffer (d); > > if (d->prop_xid) > { >@@ -2103,16 +2105,7 @@ meta_draw_window_decoration (decor_t *d) > XRenderFreePicture (xdisplay, src); > } > >- if (d->buffer_pixmap) >- gdk_draw_drawable (d->pixmap, >- d->gc, >- d->buffer_pixmap, >- 0, >- 0, >- 0, >- 0, >- d->width, >- d->height); >+ copy_to_front_buffer (d); > > if (d->prop_xid) > { >@@ -2361,18 +2354,9 @@ draw_switcher_background (decor_t *d) > alpha); > > cairo_stroke (cr); >- > cairo_destroy (cr); > >- gdk_draw_drawable (d->pixmap, >- d->gc, >- d->buffer_pixmap, >- 0, >- 0, >- 0, >- 0, >- d->width, >- d->height); >+ copy_to_front_buffer (d); > > pixel = ((((a * style->bg[GTK_STATE_NORMAL].blue ) >> 24) & 0x0000ff) | > (((a * style->bg[GTK_STATE_NORMAL].green) >> 16) & 0x00ff00) | >@@ -2439,15 +2423,7 @@ draw_switcher_foreground (decor_t *d) > > cairo_destroy (cr); > >- gdk_draw_drawable (d->pixmap, >- d->gc, >- d->buffer_pixmap, >- 0, >- 0, >- 0, >- 0, >- d->width, >- d->height); >+ copy_to_front_buffer (d); > } > > static void >@@ -3512,15 +3488,15 @@ update_window_decoration_size (WnckWindow *win) > if (d->buffer_pixmap) > g_object_unref (G_OBJECT (d->buffer_pixmap)); > >- if (d->gc) >- g_object_unref (G_OBJECT (d->gc)); >- > if (d->picture) > XRenderFreePicture (xdisplay, d->picture); > >+ if (d->cr) >+ cairo_destroy (d->cr); >+ > d->pixmap = pixmap; > d->buffer_pixmap = buffer_pixmap; >- d->gc = gdk_gc_new (pixmap); >+ d->cr = gdk_cairo_create (pixmap); > > d->picture = picture; > >@@ -3642,6 +3618,7 @@ update_switcher_window (WnckWindow *win, > { > g_object_ref (G_OBJECT (switcher_pixmap)); > d->pixmap = switcher_pixmap; >+ d->cr = gdk_cairo_create (switcher_pixmap); > } > > if (!d->buffer_pixmap && switcher_buffer_pixmap) >@@ -3729,9 +3706,6 @@ update_switcher_window (WnckWindow *win, > > if (width == d->width && height == d->height) > { >- if (!d->gc) >- d->gc = gdk_gc_new (d->pixmap); >- > if (!d->picture) > d->picture = > XRenderCreatePicture (xdisplay, >@@ -3765,8 +3739,8 @@ update_switcher_window (WnckWindow *win, > if (d->buffer_pixmap) > g_object_unref (G_OBJECT (d->buffer_pixmap)); > >- if (d->gc) >- g_object_unref (G_OBJECT (d->gc)); >+ if (d->cr) >+ cairo_destroy (d->cr); > > if (d->picture) > XRenderFreePicture (xdisplay, d->picture); >@@ -3782,7 +3756,7 @@ update_switcher_window (WnckWindow *win, > > d->pixmap = pixmap; > d->buffer_pixmap = buffer_pixmap; >- d->gc = gdk_gc_new (pixmap); >+ d->cr = gdk_cairo_create (pixmap); > > d->picture = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (buffer_pixmap), > xformat, 0, NULL); >@@ -3817,10 +3791,10 @@ remove_frame_window (WnckWindow *win) > d->buffer_pixmap = NULL; > } > >- if (d->gc) >+ if (d->cr) > { >- g_object_unref (G_OBJECT (d->gc)); >- d->gc = NULL; >+ cairo_destroy (d->cr); >+ d->cr = NULL; > } > > if (d->picture) >-- >cgit v0.8.3.1-30-gff3a
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 344293
:
253309
|
253311
|
253359
|
256445