comparison src/frame-gtk.c @ 1346:01c57eb70ae9

[xemacs-hg @ 2003-03-09 02:27:27 by ben] To: xemacs-patches@xemacs.org i.c: Sleep between calls to check for I/O, since these calls are non-blocking. behavior.el: Allow other keywords for forward compatibility. cl-macs.el: Rewrite to eliminate byte-compiler warning when `return' is used without `finally'. cmdloop.el: Avoid truncated error messages for `end-of-file' and the like. cmdloop.el: Avoid char-int error after syncing. files.el: Eliminate byte-compile warnings. printer.el: Fix line-width calculations. #### This used to work. Someone's changes (perhaps by Michael Sperber?) seem to have messed something up. simple.el: Use new clear-left-side functions to avoid messages ending up on the same line as other output. xemacs.mak: Add override for info/ as well when separate source/build dirs. xemacs.mak: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. Makefile.in.in: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. alloc.c: Don't arbitrarily clear Vconfigure_info_directory since it messes up separate build/source dirs. console.c, console.h, device-msw.c, device.c: Add accidentally omitted msprinter console and data descriptions. print.c, console-msw.c: Add clear-left-side functionality to help keep stdio/stderr output from separate sources on separate lines. Generalize the different kinds of debugging output. Add dpa(). profile.c: Add better docs on Unix/Windows differences. regex.c: Fix problems with rel-alloc compilation caused by previous patch. emacs.c: Seg fault rather than abort on Cygwin, since gdb doesn't trap aborts properly. console-gtk-impl.h, console-gtk.h, console-msw.h, console-x-impl.h, console-x.h, dialog-gtk.c, dialog-x.c, event-msw.c, frame-gtk.c, frame-x.c, frameslots.h, glyphs-gtk.c, glyphs-x.c, gui-gtk.c, gui-x.c, inline.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, scrollbar-gtk.c, scrollbar-x.c, ui-gtk.c: Delete popup-data object. Delete menubar_data field from frames, since its usage is frame-specific. Delete menubar-msw.h, gui-x.h, gui-gtk.h. Clean up handling of lwlib callback data GCPRO'ing and add missing GCPRO recomputation in widget code.
author ben
date Sun, 09 Mar 2003 02:27:46 +0000
parents b531bf8658e9
children a8d8f419b459
comparison
equal deleted inserted replaced
1345:3b27da507d56 1346:01c57eb70ae9
1 /* Functions for the X window system. 1 /* Functions for the X window system.
2 Copyright (C) 1989, 1992-5, 1997 Free Software Foundation, Inc. 2 Copyright (C) 1989, 1992-5, 1997 Free Software Foundation, Inc.
3 Copyright (C) 1995, 1996, 2002 Ben Wing. 3 Copyright (C) 1995, 1996, 2002, 2003 Ben Wing.
4 4
5 This file is part of XEmacs. 5 This file is part of XEmacs.
6 6
7 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
96 static const struct memory_description gtk_frame_data_description_1 [] = { 96 static const struct memory_description gtk_frame_data_description_1 [] = {
97 { XD_LISP_OBJECT, offsetof (struct gtk_frame, icon_pixmap) }, 97 { XD_LISP_OBJECT, offsetof (struct gtk_frame, icon_pixmap) },
98 { XD_LISP_OBJECT, offsetof (struct gtk_frame, icon_pixmap_mask) }, 98 { XD_LISP_OBJECT, offsetof (struct gtk_frame, icon_pixmap_mask) },
99 { XD_LISP_OBJECT_ARRAY, offsetof (struct gtk_frame, lisp_visible_widgets), 99 { XD_LISP_OBJECT_ARRAY, offsetof (struct gtk_frame, lisp_visible_widgets),
100 3 }, 100 3 },
101 { XD_LISP_OBJECT, offsetof (struct gtk_frame, menubar_data) },
101 { XD_END } 102 { XD_END }
102 }; 103 };
103 104
104 extern const struct sized_memory_description gtk_frame_data_description; 105 extern const struct sized_memory_description gtk_frame_data_description;
105 106
940 } 941 }
941 942
942 static void 943 static void
943 allocate_gtk_frame_struct (struct frame *f) 944 allocate_gtk_frame_struct (struct frame *f)
944 { 945 {
946 int i;
947
945 /* zero out all slots. */ 948 /* zero out all slots. */
946 f->frame_data = xnew_and_zero (struct gtk_frame); 949 f->frame_data = xnew_and_zero (struct gtk_frame);
947 950
948 /* yeah, except the lisp ones */ 951 /* yeah, except the lisp ones */
949 FRAME_GTK_ICON_PIXMAP (f) = Qnil; 952 FRAME_GTK_ICON_PIXMAP (f) = Qnil;
950 FRAME_GTK_ICON_PIXMAP_MASK (f) = Qnil; 953 FRAME_GTK_ICON_PIXMAP_MASK (f) = Qnil;
954 FRAME_GTK_MENUBAR_DATA (f) = Qnil;
955 for (i = 0; i < 3; i++)
956 FRAME_GTK_LISP_WIDGETS (f)[i] = Qnil;
951 } 957 }
952 958
953 959
954 /************************************************************************/ 960 /************************************************************************/
955 /* Lisp functions */ 961 /* Lisp functions */
1029 static void 1035 static void
1030 gtk_mark_frame (struct frame *f) 1036 gtk_mark_frame (struct frame *f)
1031 { 1037 {
1032 mark_object (FRAME_GTK_ICON_PIXMAP (f)); 1038 mark_object (FRAME_GTK_ICON_PIXMAP (f));
1033 mark_object (FRAME_GTK_ICON_PIXMAP_MASK (f)); 1039 mark_object (FRAME_GTK_ICON_PIXMAP_MASK (f));
1040 mark_object (FRAME_GTK_MENUBAR_DATA (f));
1034 mark_object (FRAME_GTK_LISP_WIDGETS (f)[0]); 1041 mark_object (FRAME_GTK_LISP_WIDGETS (f)[0]);
1035 mark_object (FRAME_GTK_LISP_WIDGETS (f)[1]); 1042 mark_object (FRAME_GTK_LISP_WIDGETS (f)[1]);
1036 mark_object (FRAME_GTK_LISP_WIDGETS (f)[2]); 1043 mark_object (FRAME_GTK_LISP_WIDGETS (f)[2]);
1037 } 1044 }
1038 1045