emacs-diffs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]