Re: patches and responses...
- From: Havoc Pennington <hp redhat com>
- To: zucchi zedzone mmc com au
- Cc: pdw ex-parrot com (Paul Warren), kevin suberic net (kevin lyda),gnome-devel-list gnome org (gnome dev list),miguel helixcode com (Miguel de Icaza)
- Subject: Re: patches and responses...
- Date: 23 Aug 2000 09:59:13 -0400
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]