summaryrefslogtreecommitdiffstats
path: root/src/document.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-05-08 10:19:13 +0000
committerjabiertxof <info@marker.es>2016-05-08 10:19:13 +0000
commit1556c1a3619c415b3a7abacfdabd89398e411a91 (patch)
treed7718e5873db4b2c25cb3bed94fcc4c3ba87fea4 /src/document.cpp
parentremove a waring on compile (diff)
parentadd missing POTFILES.in line in mirror symmetry LPE (diff)
downloadinkscape-1556c1a3619c415b3a7abacfdabd89398e411a91.tar.gz
inkscape-1556c1a3619c415b3a7abacfdabd89398e411a91.zip
update to trunk
(bzr r13645.1.127)
Diffstat (limited to 'src/document.cpp')
-rw-r--r--src/document.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/document.cpp b/src/document.cpp
index ae03b1ba1..7086fc0be 100644
--- a/src/document.cpp
+++ b/src/document.cpp
@@ -46,6 +46,7 @@
#include "widgets/desktop-widget.h"
#include "desktop.h"
#include "dir-util.h"
+#include "display/drawing.h"
#include "display/drawing-item.h"
#include "document-private.h"
#include "document-undo.h"
@@ -1316,6 +1317,7 @@ SPItem *SPDocument::getItemFromListAtPointBottom(unsigned int dkey, SPGroup *gro
if ( SP_IS_ITEM(o) ) {
SPItem *item = SP_ITEM(o);
Inkscape::DrawingItem *arenaitem = item->get_arenaitem(dkey);
+ arenaitem->drawing().update();
if (arenaitem && arenaitem->pick(p, delta, 1) != NULL
&& (take_insensitive || item->isVisibleAndUnlocked(dkey))) {
if (find(list.begin(),list.end(),item)!=list.end() ) {
@@ -1380,10 +1382,12 @@ static SPItem *find_item_at_point(std::deque<SPItem*> *nodes, unsigned int dkey,
continue;
}
Inkscape::DrawingItem *arenaitem = child->get_arenaitem(dkey);
-
- if (arenaitem && arenaitem->pick(p, delta, 1) != NULL) {
- seen = child;
- break;
+ if (arenaitem) {
+ arenaitem->drawing().update();
+ if (arenaitem->pick(p, delta, 1) != NULL) {
+ seen = child;
+ break;
+ }
}
}
@@ -1413,6 +1417,7 @@ static SPItem *find_group_at_point(unsigned int dkey, SPGroup *group, Geom::Poin
if (SP_IS_GROUP(o) && SP_GROUP(o)->effectiveLayerMode(dkey) != SPGroup::LAYER ) {
SPItem *child = SP_ITEM(o);
Inkscape::DrawingItem *arenaitem = child->get_arenaitem(dkey);
+ arenaitem->drawing().update();
// seen remembers the last (topmost) of groups pickable at this point
if (arenaitem && arenaitem->pick(p, delta, 1) != NULL) {