[gimp] libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values()
- Date: Mon, 28 May 2018 22:05:30 +0000 (UTC)
commit 2f425f0e2a798efe166f2056f05a5494650a5f63
Author: Michael Natterer <mitch gimp org>
Date: Mon May 28 22:27:24 2018 +0200
libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values()
libgimpwidgets/gimpscrolledpreview.c | 39 ++++++++++++++++++++++--------------
1 file changed, 24 insertions(+), 15 deletions(-)
---
diff --git a/libgimpwidgets/gimpscrolledpreview.c b/libgimpwidgets/gimpscrolledpreview.c
index 9f9c62c16b..2b801ad58d 100644
--- a/libgimpwidgets/gimpscrolledpreview.c
+++ b/libgimpwidgets/gimpscrolledpreview.c
@@ -951,8 +951,8 @@ gimp_scroll_adjustment_values (GdkEventScroll *sevent,
gdouble value_y = 0.0;
g_return_if_fail (sevent != NULL);
- g_return_if_fail (GTK_IS_ADJUSTMENT (hadj));
- g_return_if_fail (GTK_IS_ADJUSTMENT (vadj));
+ g_return_if_fail (hadj == NULL || GTK_IS_ADJUSTMENT (hadj));
+ g_return_if_fail (vadj == NULL || GTK_IS_ADJUSTMENT (vadj));
if (sevent->state & GDK_SHIFT_MASK)
{
@@ -965,8 +965,15 @@ gimp_scroll_adjustment_values (GdkEventScroll *sevent,
adj_y = vadj;
}
- scroll_unit_x = pow (gtk_adjustment_get_page_size (adj_x), 2.0 / 3.0);
- scroll_unit_y = pow (gtk_adjustment_get_page_size (adj_y), 2.0 / 3.0);
+ if (adj_x)
+ scroll_unit_x = pow (gtk_adjustment_get_page_size (adj_x), 2.0 / 3.0);
+ else
+ scroll_unit_x = 1.0;
+
+ if (adj_y)
+ scroll_unit_y = pow (gtk_adjustment_get_page_size (adj_y), 2.0 / 3.0);
+ else
+ scroll_unit_y = 1.0;
switch (sevent->direction)
{
@@ -992,17 +999,19 @@ gimp_scroll_adjustment_values (GdkEventScroll *sevent,
value_y *= scroll_unit_y;
}
- value_x = CLAMP (value_x +
- gtk_adjustment_get_value (adj_x),
- gtk_adjustment_get_lower (adj_x),
- gtk_adjustment_get_upper (adj_x) -
- gtk_adjustment_get_page_size (adj_x));
-
- value_y = CLAMP (value_y +
- gtk_adjustment_get_value (adj_y),
- gtk_adjustment_get_lower (adj_y),
- gtk_adjustment_get_upper (adj_y) -
- gtk_adjustment_get_page_size (adj_y));
+ if (adj_x)
+ value_x = CLAMP (value_x +
+ gtk_adjustment_get_value (adj_x),
+ gtk_adjustment_get_lower (adj_x),
+ gtk_adjustment_get_upper (adj_x) -
+ gtk_adjustment_get_page_size (adj_x));
+
+ if (adj_y)
+ value_y = CLAMP (value_y +
+ gtk_adjustment_get_value (adj_y),
+ gtk_adjustment_get_lower (adj_y),
+ gtk_adjustment_get_upper (adj_y) -
+ gtk_adjustment_get_page_size (adj_y));
if (sevent->state & GDK_SHIFT_MASK)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]