Mercurial > hg > xemacs-beta
changeset 691:1df69dc58840
[xemacs-hg @ 2001-12-13 20:53:20 by wmperry]
Fix strange 'floating gutter tab' bug.
author | wmperry |
---|---|
date | Thu, 13 Dec 2001 20:53:21 +0000 |
parents | 46874522858b |
children | cd697e94b3d4 |
files | src/ChangeLog src/glyphs-gtk.c |
diffstat | 2 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Mon Dec 10 07:43:34 2001 +0000 +++ b/src/ChangeLog Thu Dec 13 20:53:21 2001 +0000 @@ -1,3 +1,9 @@ +2001-12-13 William M. Perry <wmperry@gnu.org> + + * glyphs-gtk.c (gtk_map_subwindow): Make sure that we always call + gtk_fixed_put, even if the size allocations are the same. + (gtk_subwindow_instantiate): Fixed compilation warnings. + 2001-10-26 Mike Alexander <mta@arbortext.com> * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
--- a/src/glyphs-gtk.c Mon Dec 10 07:43:34 2001 +0000 +++ b/src/glyphs-gtk.c Thu Dec 13 20:53:21 2001 +0000 @@ -1223,6 +1223,7 @@ assert (COLOR_SPECIFIERP (value)); value = Fspecifier_instance (value, domain, Qnil, Qnil); } + if (NILP (value)) continue; results = noseeum_cons (noseeum_cons (name, value), results); @@ -2019,7 +2020,7 @@ redisplay_output_subwindow */ static void gtk_map_subwindow (Lisp_Image_Instance *p, int x, int y, - struct display_glyph_area* dga) + struct display_glyph_area* dga) { assert (dga->width > 0 && dga->height > 0); @@ -2073,6 +2074,21 @@ } GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) = old_flags; } + else + { + if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p)) + { + /* Do nothing... */ + } + else + { + /* Must make sure we have put the image at least once! */ + IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE; + gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)), + wid, + -dga->xoffset, -dga->yoffset); + } + } if (!IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (p)) { @@ -2189,7 +2205,6 @@ /* This function can GC */ Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); - Lisp_Object frame = DOMAIN_FRAME (domain); if (!DEVICE_GTK_P (XDEVICE (device))) gui_error ("Not a GTK device", device);