diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/sp-canvas.cpp | 30 | ||||
| -rw-r--r-- | src/ege-select-one-action.cpp | 18 |
2 files changed, 26 insertions, 22 deletions
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 580b214f0..fd320927b 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -271,6 +271,8 @@ public: /** * The canvas widget's expose callback. + * + * @todo FIXME: function allways retruns false. */ static gint handleExpose(GtkWidget *widget, GdkEventExpose *event); @@ -2007,22 +2009,26 @@ gint SPCanvasImpl::handleExpose(GtkWidget *widget, GdkEventExpose *event) } int n_rects = 0; - GdkRectangle *rects = 0; + GdkRectangle *rects = NULL; gdk_region_get_rectangles(event->region, &rects, &n_rects); - - for (int i = 0; i < n_rects; i++) { - Geom::IntRect r = Geom::IntRect::from_xywh( - rects[i].x + canvas->x0, rects[i].y + canvas->y0, - rects[i].width, rects[i].height); - - canvas->requestRedraw(r.left(), r.top(), r.right(), r.bottom()); + + if ((rects == NULL) || (n_rects == 0)) + { + return FALSE; } - - if (n_rects > 0) { + else + { + for (int i = 0; i < n_rects; i++) { + Geom::IntRect r = Geom::IntRect::from_xywh( + rects[i].x + canvas->x0, rects[i].y + canvas->y0, + rects[i].width, rects[i].height); + + canvas->requestRedraw(r.left(), r.top(), r.right(), r.bottom()); + } + g_free (rects); + return FALSE; } - - return FALSE; } gint SPCanvasImpl::handleKeyEvent(GtkWidget *widget, GdkEventKey *event) diff --git a/src/ege-select-one-action.cpp b/src/ege-select-one-action.cpp index a546bc6f7..f2c97cdc4 100644 --- a/src/ege-select-one-action.cpp +++ b/src/ege-select-one-action.cpp @@ -1158,17 +1158,15 @@ int scan_max_width( GtkTreeModel *model, gint labelColumn ) GtkTreeIter iter; gboolean valid = gtk_tree_model_get_iter_first( model, &iter ); while ( valid ) { - gchar* str = 0; - int count = 0; - gtk_tree_model_get( model, &iter, - labelColumn, &str, - -1 ); - count = strlen(str); - if (count > maxUsed) { - maxUsed = count; + gchar* str = NULL; + gtk_tree_model_get( model, &iter, labelColumn, &str, -1 ); + if (str != NULL){ + int count = strlen(str); + if (count > maxUsed) { + maxUsed = count; + } + g_free(str); } - g_free( str ); - valid = gtk_tree_model_iter_next( model, &iter ); } return maxUsed; |
