diff options
| author | Ralf Stephan <ralf@ark.in-berlin.de> | 2006-02-14 09:59:53 +0000 |
|---|---|---|
| committer | rwst <rwst@users.sourceforge.net> | 2006-02-14 09:59:53 +0000 |
| commit | d40ab18c75946fad94238f06b269c59b24d41f6f (patch) | |
| tree | 842aa96a93062f58f840361f05e6d2b278188d30 /src/svg-view.cpp | |
| parent | replaced connectors in connector layout icon with ordinary line to fix weird ... (diff) | |
| download | inkscape-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.cpp | 22 |
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; |
