Re: patches and responses...




Hi,

Seems like a good time to send our Red Hat patches upstream.

For Zvt in gnome-libs, we have:
  segbgfix.patch: Some GC wasn't getting synced to the current color
                  before a redraw when setting the background
  grabfix.patch: mouse grabs were wrong, resulting in bizarre 
                 selection behavior if you went from one term 
                 into another while dragging the selection
  doubleclicks.patch: Paul Warren's fix, I'm not sure if my patch 
                      is different
  motionnotify.patch: gdk_window_get_pointer() on motion notify, 
                      grabfix makes this necessary
  scrolling.patch: Always use SCROLL_NEVER to (partially) fix a 
                   redraw bug we couldn't figure out how to fix
                   and couldn't get anyone else to fix. Slows
                   down scrolling, obviously. If anyone 
                   wants to try fixing it:
  http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=14744

For gnome-terminal:
  transientfor.patch: Set the prefs dialog transient for the main
                      window

Also a couple other g-t patches, but I think they are Red Hat specific
(changing backspace/delete defaults, and some font thing).

Enjoy,
Havoc

--- gnome-libs-1.2.4/zvt/zvtterm.c.setbgfix	Sat Aug  5 23:11:18 2000
+++ gnome-libs-1.2.4/zvt/zvtterm.c	Sat Aug  5 23:11:52 2000
@@ -3696,6 +3696,7 @@
     gdk_gc_set_fill (bgc, GDK_SOLID);
     pen.pixel = term->colors[17];
     gdk_gc_set_foreground (bgc, &pen);
+    gdk_gc_set_background (term->fore_gc, &pen);
     if (term->background.pix) {
       gdk_pixmap_unref(term->background.pix);
       term->background.pix = 0;

--- gnome-libs-1.2.4/zvt/zvtterm.c.grabfix	Wed Aug  9 15:53:08 2000
+++ gnome-libs-1.2.4/zvt/zvtterm.c	Wed Aug  9 15:53:28 2000
@@ -1550,7 +1550,7 @@
     d( printf("selection starting %d %d\n", x, y) );
 
     gtk_grab_add (widget);
-    gdk_pointer_grab (widget->window, TRUE,
+    gdk_pointer_grab (widget->window, FALSE,
 		      GDK_BUTTON_RELEASE_MASK |
 		      GDK_BUTTON_MOTION_MASK |
 		      GDK_POINTER_MOTION_HINT_MASK,
@@ -1603,7 +1603,7 @@
       vt_draw_selection(vx);
       
       gtk_grab_add (widget);
-      gdk_pointer_grab (widget->window, TRUE,
+      gdk_pointer_grab (widget->window, FALSE,
 			GDK_BUTTON_RELEASE_MASK |
 			GDK_BUTTON_MOTION_MASK |
 			GDK_POINTER_MOTION_HINT_MASK,

--- gnome-libs-1.2.4/zvt/zvtterm.c.doubleclicks	Wed Aug  9 19:44:39 2000
+++ gnome-libs-1.2.4/zvt/zvtterm.c	Wed Aug  9 19:44:30 2000
@@ -1564,7 +1564,8 @@
     break;
 
   case 2:			/* middle button - paste */
-    request_paste (widget, 0, event->time);
+    if (event->type == GDK_BUTTON_PRESS)
+      request_paste (widget, 0, event->time);
     break;
 
   case 3:			/* right button - select extend? */
@@ -1617,11 +1618,13 @@
     break;
 
   case 4:
-    zvt_term_scroll_by_lines (term, -12);
+    if (event->type == GDK_BUTTON_PRESS)
+      zvt_term_scroll_by_lines (term, -12);
     break;
 
   case 5:
-    zvt_term_scroll_by_lines (term, 12);
+    if (event->type == GDK_BUTTON_PRESS)
+      zvt_term_scroll_by_lines (term, 12);
     break;
   }
   return FALSE;

--- gnome-libs-1.2.4/zvt/zvtterm.c.motionnotify	Sat Aug 19 11:01:33 2000
+++ gnome-libs-1.2.4/zvt/zvtterm.c	Sat Aug 19 11:03:51 2000
@@ -1765,6 +1765,7 @@
   ZvtTerm *term;
   struct _zvtprivate *zp;
   struct vt_match *m;
+  GdkModifierType mask;
   
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (ZVT_IS_TERM (widget), FALSE);
@@ -1774,8 +1775,10 @@
   vx = term->vx;
   zp = gtk_object_get_data (GTK_OBJECT (term), "_zvtprivate");
 
-  x=(((int)event->x))/term->charwidth;
-  y=(((int)event->y))/term->charheight;
+  gdk_window_get_pointer (event->window, &x, &y, &mask);
+
+  x = x/term->charwidth;
+  y = y/term->charheight;
 
   if (vx->selectiontype != VT_SELTYPE_NONE){
     

--- gnome-libs-1.2.4/zvt/zvtterm.c.scrolling	Sat Aug 19 13:07:41 2000
+++ gnome-libs-1.2.4/zvt/zvtterm.c	Sat Aug 19 13:08:09 2000
@@ -2878,11 +2878,11 @@
     terminal->vx->scroll_type=VT_SCROLL_NEVER;
   else if (terminal->pixmap_filename) {
     if (flags & ZVT_BACKGROUND_SCROLL)
-      terminal->vx->scroll_type=VT_SCROLL_SOMETIMES;
+      terminal->vx->scroll_type=VT_SCROLL_NEVER;
     else
       terminal->vx->scroll_type=VT_SCROLL_NEVER;
   } else
-    terminal->vx->scroll_type=VT_SCROLL_ALWAYS;
+    terminal->vx->scroll_type=VT_SCROLL_NEVER;
 }
 
 /*

--- gnome-core-1.2.1/gnome-terminal/gnome-terminal.c.transientfor	Mon Jul 31 15:13:32 2000
+++ gnome-core-1.2.1/gnome-terminal/gnome-terminal.c	Mon Jul 31 15:17:58 2000
@@ -1097,6 +1097,7 @@
 	char *some_class;
 	struct terminal_config *cfg;
 	int i;
+        GtkWidget *transient_parent;
 
 	/* Is a property window for this terminal already running? */
 	if (gtk_object_get_data (GTK_OBJECT (term), "newcfg"))
@@ -1117,6 +1118,11 @@
 	prefs->prop_win = gnome_property_box_new ();
 	gtk_object_set_data (GTK_OBJECT (term), "prefs", prefs);
 
+        transient_parent = gtk_widget_get_toplevel (GTK_WIDGET (term));
+        if (transient_parent)
+                gtk_window_set_transient_for (GTK_WINDOW (prefs->prop_win),
+                                              GTK_WINDOW (transient_parent));
+        
 	/* general page */
 	table = gtk_table_new (3, 3, FALSE);
 	gtk_container_set_border_width (GTK_CONTAINER (table), 4);










[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]