diff options
| author | Kris De Gussem <kris.degussem@gmail.com> | 2012-02-22 18:49:11 +0000 |
|---|---|---|
| committer | Kris <Kris.De.Gussem@hotmail.com> | 2012-02-22 18:49:11 +0000 |
| commit | 0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2 (patch) | |
| tree | 0958a8693dc62745ce0fec19aa170e9acd8e776f /src | |
| parent | Fix for 938349 : Compile error in spellcheck.h when aspell is unavailable (diff) | |
| download | inkscape-0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2.tar.gz inkscape-0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2.zip | |
cppcheck: null pointer dereference fix
(bzr r11009)
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; |
