[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog gtkutil.c
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] emacs/src ChangeLog gtkutil.c |
Date: |
Sat, 12 Dec 2009 12:29:18 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Jan Djärv <jhd> 09/12/12 12:29:18
Modified files:
src : ChangeLog gtkutil.c
Log message:
gtkutil.c: Scroll bar thumb not updated properly (bug #5177).
(scroll_end_callback): New function (bug #5177)
(xg_create_scroll_bar): Call scroll_end_callback on button release
event (bug #5177).
(xg_event_is_for_scrollbar): != replaced with ==.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7917&r2=1.7918
http://cvs.savannah.gnu.org/viewcvs/emacs/src/gtkutil.c?cvsroot=emacs&r1=1.168&r2=1.169
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7917
retrieving revision 1.7918
diff -u -b -r1.7917 -r1.7918
--- ChangeLog 12 Dec 2009 02:14:16 -0000 1.7917
+++ ChangeLog 12 Dec 2009 12:29:15 -0000 1.7918
@@ -1,3 +1,10 @@
+2009-12-12 Jan Djärv <address@hidden>
+
+ * gtkutil.c (scroll_end_callback): New function (bug #5177)
+ (xg_create_scroll_bar): Call scroll_end_callback on button release
+ event (bug #5177).
+ (xg_event_is_for_scrollbar): != replaced with ==.
+
2009-12-12 Kenichi Handa <address@hidden>
* ftfont.c (struct ftfont_info): New member matrix.
Index: gtkutil.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/gtkutil.c,v
retrieving revision 1.168
retrieving revision 1.169
diff -u -b -r1.168 -r1.169
--- gtkutil.c 9 Dec 2009 14:26:28 -0000 1.168
+++ gtkutil.c 12 Dec 2009 12:29:17 -0000 1.169
@@ -3093,6 +3093,18 @@
xg_remove_widget_from_map (id);
}
+/* Callback for button release. Sets dragging to Qnil when dragging is done.
*/
+
+static gboolean
+scroll_end_callback (GtkWidget *widget,
+ GdkEventButton *event,
+ gpointer user_data)
+{
+ struct scroll_bar *bar = (struct scroll_bar *) user_data;
+ bar->dragging = Qnil;
+ return FALSE;
+}
+
/* Create a scroll bar widget for frame F. Store the scroll bar
in BAR.
SCROLL_CALLBACK is the callback to invoke when the value of the
@@ -3134,6 +3146,11 @@
G_CALLBACK (xg_gtk_scroll_destroy),
(gpointer) (EMACS_INT) scroll_id);
+ g_signal_connect (G_OBJECT (wscroll),
+ "button-release-event",
+ G_CALLBACK (scroll_end_callback),
+ (gpointer) bar);
+
/* The scroll bar widget does not draw on a window of its own. Instead
it draws on the parent window, in this case the edit widget. So
whenever the edit widget is cleared, the scroll bar needs to redraw
@@ -3317,7 +3334,7 @@
retval = gdk_display_get_window_at_pointer (gdpy, NULL, NULL)
!= f->output_data.x->edit_widget->window;
}
- else if (f && (event->type != ButtonRelease || event->type != MotionNotify))
+ else if (f && (event->type == ButtonRelease || event->type == MotionNotify))
{
/* If we are releasing or moving the scroll bar, it has the grab. */
retval = gtk_grab_get_current () != 0