[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/koffice/2.0/koffice/krita/plugins/tools/defaulttools
From: Cyrille Berger <cyb () lepi ! org>
Date: 2009-04-28 18:31:01
Message-ID: 1240943461.996339.5446.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 960613 by berger:
Backport Fix: crashed when using the draw path tool on a shape layer.
BUG: 190877
M +13 -7 kis_tool_path.cc
--- branches/koffice/2.0/koffice/krita/plugins/tools/defaulttools/kis_tool_path.cc \
#960612:960613 @@ -26,6 +26,8 @@
#include "kis_image.h"
#include "kis_painter.h"
#include "kis_layer.h"
+#include "canvas/kis_canvas2.h"
+#include "kis_view2.h"
#include "kis_canvas_resource_provider.h"
#include "kis_paintop_registry.h"
#include "kis_selection.h"
@@ -43,17 +45,21 @@
{
KisNodeSP currentNode =
m_canvas->resourceProvider()->resource(KisCanvasResourceProvider::CurrentKritaNode).value<KisNodeSP>();
- if (!currentNode)
+ if (!currentNode || !currentNode->paintDevice()) {
+ delete m_shape;
+ m_shape = 0;
return;
+ }
- KisImageSP image = \
qobject_cast<KisLayer*>(currentNode->parent().data())->image(); KisPaintDeviceSP dev \
= currentNode->paintDevice();
- KisSelectionSP selection = image->globalSelection();
- // XXX: also get global selection!
- if (selection && currentNode->inherits("KisLayer")) {
- selection = qobject_cast<KisLayer*>(currentNode.data())->selection();
- }
+ KisCanvas2 *canvas = dynamic_cast<KisCanvas2 *>(m_canvas);
+ if(!canvas)
+ return;
+
+ KisImageSP image = canvas->view()->image();
+ KisSelectionSP selection = canvas->view()->selection();
+
KisPainter painter(dev, selection);
painter.beginTransaction(i18n("Path"));
painter.setPaintColor(KoColor(Qt::black, dev->colorSpace()));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic