diff options
author | Owen Taylor <otaylor@redhat.com> | 2001-11-05 17:48:58 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2001-11-05 17:48:58 +0000 |
commit | 42634ee7355c628f88908a9c4a73f3b4ee0335c5 (patch) | |
tree | c2fb9149a02ca46b97dd72d1070b707c2fe945e9 /gdk/x11/gdkpixmap-x11.c | |
parent | 8a31888a046a56fb05f7b409537122d72e671ff7 (diff) | |
download | gtk+-42634ee7355c628f88908a9c4a73f3b4ee0335c5.tar.gz |
Redo Xft support to go directly to Picture objects instead of using
Mon Nov 5 12:46:44 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkwindow-x11.c: Redo Xft support to go
directly to Picture objects instead of using XftDraw.
This fixes the problem where we weren't able to
properly destroy XftDraw objects before destroying
the accompanying windows, and probably improves
efficiency a bit too. (#50214)
Diffstat (limited to 'gdk/x11/gdkpixmap-x11.c')
-rw-r--r-- | gdk/x11/gdkpixmap-x11.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdk/x11/gdkpixmap-x11.c b/gdk/x11/gdkpixmap-x11.c index 15804ce8a4..ae50cc3375 100644 --- a/gdk/x11/gdkpixmap-x11.c +++ b/gdk/x11/gdkpixmap-x11.c @@ -122,6 +122,15 @@ gdk_pixmap_impl_x11_finalize (GObject *object) GdkPixmapImplX11 *impl = GDK_PIXMAP_IMPL_X11 (object); GdkPixmap *wrapper = GDK_PIXMAP (GDK_DRAWABLE_IMPL_X11 (impl)->wrapper); +#ifdef HAVE_XFT + { + GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl); + + if (draw_impl->picture) + XRenderFreePicture (draw_impl->xdisplay, draw_impl->picture); + } +#endif /* HAVE_XFT */ + if (!impl->is_foreign) XFreePixmap (GDK_PIXMAP_XDISPLAY (wrapper), GDK_PIXMAP_XID (wrapper)); |