changeset: 5295:f19e6bc25969
parent: 5293:6466bc9ebf15
user: Mike Sperber <sperber(a)deinprogramm.de>
date: Tue Jul 13 10:19:33 2010 +0200
files: lisp/gtk-widget-accessors.el src/ChangeLog src/console-x-impl.h
src/device-x.c src/frame-x.c src/redisplay-xlike-inc.c
description:
Backed out changeset 6466bc9ebf15
This would leave all but the first frame blank.
diff -r 6466bc9ebf15 -r f19e6bc25969 lisp/gtk-widget-accessors.el
--- a/lisp/gtk-widget-accessors.el Wed Jun 23 08:04:18 2010 -0400
+++ b/lisp/gtk-widget-accessors.el Tue Jul 13 10:19:33 2010 +0200
@@ -20,28 +20,28 @@
(require 'gtk-ffi)
-(defconst G_TYPE_INVALID 0)
-(defconst G_TYPE_NONE 1)
-(defconst G_TYPE_CHAR 2)
-(defconst G_TYPE_UCHAR 3)
-(defconst G_TYPE_BOOL 4)
-(defconst G_TYPE_INT 5)
-(defconst G_TYPE_UINT 6)
-(defconst G_TYPE_LONG 7)
-(defconst G_TYPE_ULONG 8)
-(defconst G_TYPE_FLOAT 9)
-(defconst G_TYPE_DOUBLE 10)
-(defconst G_TYPE_STRING 11)
-(defconst G_TYPE_ENUM 12)
-(defconst G_TYPE_FLAGS 13)
-(defconst G_TYPE_BOXED 14)
-(defconst G_TYPE_POINTER 15)
-(defconst G_TYPE_SIGNAL 16)
-(defconst G_TYPE_ARGS 17)
-(defconst G_TYPE_CALLBACK 18)
-(defconst G_TYPE_C_CALLBACK 19)
-(defconst G_TYPE_FOREIGN 20)
-(defconst G_TYPE_OBJECT 21)
+(defconst GTK_TYPE_INVALID 0)
+(defconst GTK_TYPE_NONE 1)
+(defconst GTK_TYPE_CHAR 2)
+(defconst GTK_TYPE_UCHAR 3)
+(defconst GTK_TYPE_BOOL 4)
+(defconst GTK_TYPE_INT 5)
+(defconst GTK_TYPE_UINT 6)
+(defconst GTK_TYPE_LONG 7)
+(defconst GTK_TYPE_ULONG 8)
+(defconst GTK_TYPE_FLOAT 9)
+(defconst GTK_TYPE_DOUBLE 10)
+(defconst GTK_TYPE_STRING 11)
+(defconst GTK_TYPE_ENUM 12)
+(defconst GTK_TYPE_FLAGS 13)
+(defconst GTK_TYPE_BOXED 14)
+(defconst GTK_TYPE_POINTER 15)
+(defconst GTK_TYPE_SIGNAL 16)
+(defconst GTK_TYPE_ARGS 17)
+(defconst GTK_TYPE_CALLBACK 18)
+(defconst GTK_TYPE_C_CALLBACK 19)
+(defconst GTK_TYPE_FOREIGN 20)
+(defconst GTK_TYPE_OBJECT 21)
(defconst gtk-value-accessor-names
'("INVALID" "NONE" "CHAR" "UCHAR"
"BOOL" "INT" "UINT" "LONG" "ULONG"
"FLOAT" "DOUBLE"
@@ -88,8 +88,8 @@
"\n"
(format "\tthe_obj = GTK_%s (XGTK_OBJECT (obj)->object);\n" wrapper)
- (format "\targ.type = g_type_from_name (\"%s\");\n"
(symbol-name (car arg))))
-; (format "\targ.type = G_TYPE_%s;\n" (or
+ (format "\targ.type = gtk_type_from_name (\"%s\");\n"
(symbol-name (car arg))))
+; (format "\targ.type = GTK_TYPE_%s;\n" (or
; (nth (gtk-fundamental-type (car arg))
; gtk-value-accessor-names)
; (case (car arg)
@@ -100,12 +100,12 @@
(setq base-arg-type (gtk-fundamental-type (car arg)))
(cond
- ((= base-arg-type G_TYPE_OBJECT)
+ ((= base-arg-type GTK_TYPE_OBJECT)
(insert
(format "\tGTK_VALUE_OBJECT (arg) = GTK_OBJECT (the_obj->%s);"
(cdr arg))))
- ((or (= base-arg-type G_TYPE_POINTER)
- (= base-arg-type G_TYPE_BOXED))
+ ((or (= base-arg-type GTK_TYPE_POINTER)
+ (= base-arg-type GTK_TYPE_BOXED))
(insert
(format "\tGTK_VALUE_%s (arg) = (void *)the_obj->%s;"
(nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names)
@@ -117,7 +117,7 @@
(cdr arg)))))
(insert
"\n"
- "\treturn (g_type_to_lisp (&arg));\n"
+ "\treturn (gtk_type_to_lisp (&arg));\n"
"}\n\n")
(push c-func-name func-names))
func-names))
diff -r 6466bc9ebf15 -r f19e6bc25969 src/ChangeLog
--- a/src/ChangeLog Wed Jun 23 08:04:18 2010 -0400
+++ b/src/ChangeLog Tue Jul 13 10:19:33 2010 +0200
@@ -1,19 +1,3 @@
-2010-06-21 Jeff Sparkes <jsparkes(a)gmail.com>
-
- * console-x-impl.h (DEVICE_X_XFTDRAW): Define, instead of
- FRAME_X_FTDRAW.
- (struct x_device): Add XftDraw field.
- (struct x_frame): Remove XftDraw field.
- Move XftDraw from frame to device for improved caching.
-
- * device-x.c (x_delete_device): Free XftDraw here.
-
- * frame-x.c (x_delete_frame): Remove freeing of XftDraw.
-
- * redisplay-xlike-inc.c (XLIKE_output_string): Use
- DEVICE_X_XFTDRAW instead of FRAME_X_XFTDRAW when lazily creating
- XftDraw structure.
-
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* elhash.c:
diff -r 6466bc9ebf15 -r f19e6bc25969 src/console-x-impl.h
--- a/src/console-x-impl.h Wed Jun 23 08:04:18 2010 -0400
+++ b/src/console-x-impl.h Tue Jul 13 10:19:33 2010 +0200
@@ -67,17 +67,6 @@
/* Used by x_bevel_modeline in redisplay-x.c */
Pixmap gray_pixmap;
-
-#ifdef HAVE_XFT
- /* The Xft Drawable wrapper for this device. */
- /* This is persistent to take advantage of the ability of Xft's glyph
- cache in the server, and avoid rendering the font again and again...
-
- This is created the first time through redisplay, and destroyed when our
- connection to the X display is destroyed. */
- XftDraw *xftDraw;
-#endif
-
/* Atoms associated with this device. */
/* allocated in Xatoms_of_device_x */
@@ -198,7 +187,6 @@
#define DEVICE_XT_APP_SHELL(d) (DEVICE_X_DATA (d)->Xt_app_shell)
#define DEVICE_X_GC_CACHE(d) (DEVICE_X_DATA (d)->gc_cache)
#define DEVICE_X_GRAY_PIXMAP(d) (DEVICE_X_DATA (d)->gray_pixmap)
-#define DEVICE_X_XFTDRAW(d) (DEVICE_X_DATA (d)->xftDraw)
#define DEVICE_X_WM_COMMAND_FRAME(d) (DEVICE_X_DATA (d)->WM_COMMAND_frame)
#define DEVICE_X_MOUSE_TIMESTAMP(d) (DEVICE_X_DATA (d)->mouse_timestamp)
#define DEVICE_X_GLOBAL_MOUSE_TIMESTAMP(d) (DEVICE_X_DATA
(d)->global_mouse_timestamp)
@@ -331,6 +319,17 @@
#endif /* XIM_XLIB */
#endif /* HAVE_XIM */
+#ifdef HAVE_XFT
+ /* The Xft Drawable wrapper for this device.
+ #### Should this be per-device, or per-frame? */
+ /* This is persistent to take advantage of the ability of Xft's glyph
+ cache in the server, and avoid rendering the font again and again...
+
+ This is created the first time through redisplay, and destroyed when our
+ connection to the X display is destroyed. */
+ XftDraw *xftDraw;
+#endif
+
/* 1 if the frame is completely visible on the display, 0 otherwise.
if 0 the frame may have been iconified or may be totally
or partially hidden by another X window */
@@ -392,6 +391,10 @@
#define FRAME_X_GEOM_FREE_ME_PLEASE(f) (FRAME_X_DATA (f)->geom_free_me_please)
+#ifdef HAVE_XFT
+#define FRAME_X_XFTDRAW(f) (FRAME_X_DATA (f)->xftDraw)
+#endif
+
#define FRAME_X_TOTALLY_VISIBLE_P(f) (FRAME_X_DATA (f)->totally_visible_p)
#define FRAME_X_TOP_LEVEL_FRAME_P(f) (FRAME_X_DATA (f)->top_level_frame_p)
diff -r 6466bc9ebf15 -r f19e6bc25969 src/device-x.c
--- a/src/device-x.c Wed Jun 23 08:04:18 2010 -0400
+++ b/src/device-x.c Tue Jul 13 10:19:33 2010 +0200
@@ -944,18 +944,6 @@
#ifdef FREE_CHECKING
extern void (*__free_hook) (void *);
int checking_free;
-#endif
-
-#ifdef HAVE_XFT
- /* If we have an XftDraw structure, we need to free it here.
- We can't ever have an XftDraw without a Display, so we are safe
- to free it in here, and we avoid too much playing around with the
- malloc checking hooks this way. */
- if (DEVICE_X_XFTDRAW (d))
- {
- XftDrawDestroy (DEVICE_X_XFTDRAW (d));
- DEVICE_X_XFTDRAW (d) = NULL;
- }
#endif
display = DEVICE_X_DISPLAY (d);
diff -r 6466bc9ebf15 -r f19e6bc25969 src/frame-x.c
--- a/src/frame-x.c Wed Jun 23 08:04:18 2010 -0400
+++ b/src/frame-x.c Tue Jul 13 10:19:33 2010 +0200
@@ -2614,6 +2614,19 @@
DtDndDropUnregister (FRAME_X_TEXT_WIDGET (f));
#endif /* HAVE_CDE */
+#ifdef HAVE_XFT
+ /* If we have an XftDraw structure, we need to free it here.
+ We can't ever have an XftDraw without a Display, so we are safe
+ to free it in here, and we avoid too much playing around with the
+ malloc checking hooks this way. */
+ if (FRAME_X_XFTDRAW (f))
+ {
+ XftDrawDestroy (FRAME_X_XFTDRAW (f));
+ FRAME_X_XFTDRAW (f) = NULL;
+ }
+#endif
+
+
assert (FRAME_X_SHELL_WIDGET (f) != 0);
dpy = XtDisplay (FRAME_X_SHELL_WIDGET (f));
diff -r 6466bc9ebf15 -r f19e6bc25969 src/redisplay-xlike-inc.c
--- a/src/redisplay-xlike-inc.c Wed Jun 23 08:04:18 2010 -0400
+++ b/src/redisplay-xlike-inc.c Tue Jul 13 10:19:33 2010 +0200
@@ -1028,10 +1028,10 @@
XftDraw *xftDraw;
/* Lazily initialize frame's xftDraw member. */
- if (!DEVICE_X_XFTDRAW (d)) {
- DEVICE_X_XFTDRAW (d) = XftDrawCreate (dpy, x_win, visual, cmap);
+ if (!FRAME_X_XFTDRAW (f)) {
+ FRAME_X_XFTDRAW (f) = XftDrawCreate (dpy, x_win, visual, cmap);
}
- xftDraw = DEVICE_X_XFTDRAW (d);
+ xftDraw = FRAME_X_XFTDRAW (f);
/* #### This will probably cause asserts when passed a Lisp integer for a
color. See ca. line 759 this file.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches