summaryrefslogtreecommitdiffstats
path: root/src/display/sp-canvas.cpp
diff options
context:
space:
mode:
authorKris De Gussem <kris.degussem@gmail.com>2012-02-22 18:49:11 +0000
committerKris <Kris.De.Gussem@hotmail.com>2012-02-22 18:49:11 +0000
commit0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2 (patch)
tree0958a8693dc62745ce0fec19aa170e9acd8e776f /src/display/sp-canvas.cpp
parentFix for 938349 : Compile error in spellcheck.h when aspell is unavailable (diff)
downloadinkscape-0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2.tar.gz
inkscape-0e4dbbbc3f531a1d5d7ac6396325bfe2185d04a2.zip
cppcheck: null pointer dereference fix
(bzr r11009)
Diffstat (limited to 'src/display/sp-canvas.cpp')
-rw-r--r--src/display/sp-canvas.cpp30
1 files changed, 18 insertions, 12 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)