summaryrefslogtreecommitdiffstats
path: root/src/svg-view.cpp
diff options
context:
space:
mode:
authorRalf Stephan <ralf@ark.in-berlin.de>2006-02-14 09:59:53 +0000
committerrwst <rwst@users.sourceforge.net>2006-02-14 09:59:53 +0000
commitd40ab18c75946fad94238f06b269c59b24d41f6f (patch)
tree842aa96a93062f58f840361f05e6d2b278188d30 /src/svg-view.cpp
parentreplaced connectors in connector layout icon with ordinary line to fix weird ... (diff)
downloadinkscape-d40ab18c75946fad94238f06b269c59b24d41f6f.tar.gz
inkscape-d40ab18c75946fad94238f06b269c59b24d41f6f.zip
check for null spitem (fix for #1122875, patch by inkblotter)
(bzr r140)
Diffstat (limited to 'src/svg-view.cpp')
-rw-r--r--src/svg-view.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/svg-view.cpp b/src/svg-view.cpp
index 6d408e79c..5da24df98 100644
--- a/src/svg-view.cpp
+++ b/src/svg-view.cpp
@@ -135,7 +135,7 @@ arena_handler (SPCanvasArena *arena, NRArenaItem *ai, GdkEvent *event, SPSVGView
static gboolean active = FALSE;
SPEvent spev;
- SPItem *spitem = (ai) ? (SPItem*)NR_ARENA_ITEM_GET_DATA (ai) : NULL;
+ SPItem *spitem = (ai) ? (SPItem*)NR_ARENA_ITEM_GET_DATA (ai) : 0;
switch (event->type) {
case GDK_BUTTON_PRESS:
@@ -147,10 +147,14 @@ arena_handler (SPCanvasArena *arena, NRArenaItem *ai, GdkEvent *event, SPSVGView
break;
case GDK_BUTTON_RELEASE:
if (event->button.button == 1) {
- if (active && (event->button.x == x) && (event->button.y == y)) {
+ if (active && (event->button.x == x) &&
+ (event->button.y == y)) {
spev.type = SP_EVENT_ACTIVATE;
- sp_item_event (spitem, &spev);
- }
+ if ( spitem != 0 )
+ {
+ sp_item_event (spitem, &spev);
+ }
+ }
}
active = FALSE;
break;
@@ -160,12 +164,18 @@ arena_handler (SPCanvasArena *arena, NRArenaItem *ai, GdkEvent *event, SPSVGView
case GDK_ENTER_NOTIFY:
spev.type = SP_EVENT_MOUSEOVER;
spev.data = svgview;
- sp_item_event (spitem, &spev);
+ if ( spitem != 0 )
+ {
+ sp_item_event (spitem, &spev);
+ }
break;
case GDK_LEAVE_NOTIFY:
spev.type = SP_EVENT_MOUSEOUT;
spev.data = svgview;
- sp_item_event (spitem, &spev);
+ if ( spitem != 0 )
+ {
+ sp_item_event (spitem, &spev);
+ }
break;
default:
break;