Range: Up should only mean ++ if we are a GtkScale
authorDaniel Boles <dboles.src@gmail.com>
Mon, 21 May 2018 18:42:57 +0000 (19:42 +0100)
committerDaniel Boles <dboles.src@gmail.com>
Mon, 21 May 2018 19:21:25 +0000 (20:21 +0100)
The last round of patches to get the desired direction of value move in
response to scrolls/keypresses on scales had the inadvertent side effect
of giving the opposite direction on scrollbars. Seeing as gtkrange.c is
already a collection of hacks, add another so that fix only holds if the
instance is a GtkScale, since that is what those patches were aimed at.

Close https://gitlab.gnome.org/GNOME/gtk/issues/1065

gtk/gtkrange.c

index 058b49968d9a3ef74faccb8fd510cc0e33089676..5bd6005f8ccd2fbca71d4b6b7af6b4fea54ab32b 100644 (file)
@@ -704,8 +704,8 @@ should_invert_move (GtkRange       *range,
   if (move_orientation == priv->orientation)
     return should_invert (range);
 
-  /* H range/V move: Always invert, so down/up always dec/increase the value */
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
+  /* H scale/V move: Always invert, so down/up always dec/increase the value */
+  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL && GTK_IS_SCALE (range))
     return TRUE;
 
   /* V range/H move: Left/right always dec/increase the value */