pixmap = None;
}
+bgPixmap_t::~bgPixmap_t()
+{
+#ifdef HAVE_AFTERIMAGE
+ if (original_asim)
+ safe_asimage_destroy (original_asim);
+#endif
+ if (pixmap && target)
+ XFreePixmap (target->dpy, pixmap);
+}
bool
bgPixmap_t::window_size_sensitive ()
struct bgPixmap_t {
bgPixmap_t();
+ ~bgPixmap_t();
enum {
geometrySet = (1UL<<0),
);
}
+#if TRACE_PIXMAPS
+# undef XCreatePixmap
+# undef XFreePixmap
+Pixmap trace_XCreatePixmap (const char *file, int line, Display *dpy, Window r, unsigned int w, unsigned int h, unsigned int d)
+{
+ Pixmap res = XCreatePixmap (dpy, r, w, h, d);
+ fprintf (stderr, "%s:%d: XCreatePixmap (%p,%lX,%u,%u,%u) returned %lX\n", file, line, dpy, r, w, h, d, res);
+ return res;
+}
+
+void trace_XFreePixmap (const char *file, int line, Display *dpy, Pixmap p)
+{
+ fprintf (stderr, "%s:%d: XFreePixmap (%p,%lX)\n", file, line, dpy, p);
+ XFreePixmap (dpy,p);
+}
+#endif
void fade (rxvt_screen *screen, int percent, rxvt_color &result, const rgba &to = rgba (0, 0, 0));
};
+#if TRACE_PIXMAPS
+Pixmap trace_XCreatePixmap (const char *file, int line, Display *dpy, Window r, unsigned int w, unsigned int h, unsigned int d);
+void trace_XFreePixmap (const char *file, int line, Display *dpy, Pixmap p);
+
+# define XCreatePixmap(dpy,r,w,h,d) trace_XCreatePixmap (__FILE__,__LINE__,dpy,r,w,h,d)
+# define XFreePixmap(dpy,p) trace_XFreePixmap (__FILE__,__LINE__,dpy,p)
+#endif
+
#endif