From 51d551786af17a2f9af2b8f01af9141b7090f99e Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Fri, 7 Sep 2001 22:48:30 +0000 Subject: [PATCH] add some lame code to handle G_MININT, fixes #57424 2001-09-07 Havoc Pennington * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes #57424 --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktextiter.c | 20 +++++++++++++++++++- 8 files changed, 54 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 795346470..d3e1d1931 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 795346470..d3e1d1931 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2001-09-07 Havoc Pennington + + * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes + #57424 + Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c index af947d105..ae52c76d1 100644 --- a/gtk/gtktextiter.c +++ b/gtk/gtktextiter.c @@ -31,6 +31,8 @@ #include #include +#define FIX_OVERFLOWS(varname) if ((varname) == G_MININT) (varname) = G_MININT + 1 + typedef struct _GtkTextRealIter GtkTextRealIter; struct _GtkTextRealIter @@ -2173,6 +2175,8 @@ gtk_text_iter_forward_chars (GtkTextIter *iter, gint count) g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + real = gtk_text_iter_make_real (iter); if (real == NULL) @@ -2243,6 +2247,8 @@ gtk_text_iter_backward_chars (GtkTextIter *iter, gint count) g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + real = gtk_text_iter_make_real (iter); if (real == NULL) @@ -2391,7 +2397,7 @@ gtk_text_iter_forward_line (GtkTextIter *iter) GtkTextRealIter *real; g_return_val_if_fail (iter != NULL, FALSE); - + real = gtk_text_iter_make_real (iter); if (real == NULL) @@ -2496,6 +2502,8 @@ gtk_text_iter_backward_line (GtkTextIter *iter) gboolean gtk_text_iter_forward_lines (GtkTextIter *iter, gint count) { + FIX_OVERFLOWS (count); + if (count < 0) return gtk_text_iter_backward_lines (iter, 0 - count); else if (count == 0) @@ -2525,6 +2533,8 @@ gtk_text_iter_forward_lines (GtkTextIter *iter, gint count) gboolean gtk_text_iter_backward_lines (GtkTextIter *iter, gint count) { + FIX_OVERFLOWS (count); + if (count < 0) return gtk_text_iter_forward_lines (iter, 0 - count); else if (count == 0) @@ -2864,6 +2874,8 @@ gtk_text_iter_forward_word_ends (GtkTextIter *iter, { g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + if (count == 0) return FALSE; @@ -2898,6 +2910,8 @@ gtk_text_iter_backward_word_starts (GtkTextIter *iter, { g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + if (count < 0) return gtk_text_iter_forward_word_ends (iter, -count); @@ -3223,6 +3237,8 @@ gtk_text_iter_forward_cursor_positions (GtkTextIter *iter, { g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + if (count == 0) return FALSE; @@ -3258,6 +3274,8 @@ gtk_text_iter_backward_cursor_positions (GtkTextIter *iter, { g_return_val_if_fail (iter != NULL, FALSE); + FIX_OVERFLOWS (count); + if (count == 0) return FALSE; -- 2.43.2