Masterwork From Distant Lands
ActivePublic

Authored by dkazakov on May 3 2016, 11:51 AM.
diff --git a/libs/ui/canvas/kis_canvas2.cpp b/libs/ui/canvas/kis_canvas2.cpp
index c71ad0e..6162b47 100644
--- a/libs/ui/canvas/kis_canvas2.cpp
+++ b/libs/ui/canvas/kis_canvas2.cpp
@@ -99,6 +99,7 @@ public:
KisCoordinatesConverter *coordinatesConverter;
QPointer<KisView>view;
KisAbstractCanvasWidget *canvasWidget = 0;
+ QPointer<QWidget> realCanvasWidget;
KoShapeManager shapeManager;
bool currentCanvasIsOpenGL;
int openGLFilterMode;
@@ -210,6 +211,7 @@ void KisCanvas2::setCanvasWidget(QWidget * widget)
}
m_d->canvasWidget = tmp;
+ m_d->realCanvasWidget = widget;
// Either tmp was null or we are being called by KisCanvas2 constructor that is called by KisView
// constructor, so the view manager still doesn't exists.
@@ -347,15 +349,14 @@ KisInputManager* KisCanvas2::globalInputManager() const
QWidget* KisCanvas2::canvasWidget()
{
- return m_d->canvasWidget->widget();
+ return m_d->realCanvasWidget ? m_d->canvasWidget->widget() : 0;
}
const QWidget* KisCanvas2::canvasWidget() const
{
- return m_d->canvasWidget->widget();
+ return m_d->realCanvasWidget ? m_d->canvasWidget->widget() : 0;
}
-
KoUnit KisCanvas2::unit() const
{
KoUnit unit(KoUnit::Pixel);
diff --git a/libs/ui/canvas/kis_mirror_axis.cpp b/libs/ui/canvas/kis_mirror_axis.cpp
index d5262ef..e573046 100644
--- a/libs/ui/canvas/kis_mirror_axis.cpp
+++ b/libs/ui/canvas/kis_mirror_axis.cpp
@@ -223,15 +223,15 @@ void KisMirrorAxis::drawDecoration(QPainter& gc, const QRectF& updateArea, const
bool KisMirrorAxis::eventFilter(QObject* target, QEvent* event)
{
+ qDebug() << ppVar(view());
+ qDebug() << ppVar((view() ? view()->canvasBase() : 0));
+ qDebug() << ppVar((view() && view()->canvasBase() ? view()->canvasBase()->canvasWidget() : 0));
+
QObject *expectedCanvasWidget =
view() && view()->canvasBase() ?
view()->canvasBase()->canvasWidget() : 0;
- //qDebug() << ppVar(view());
- //qDebug() << ppVar((view() ? view()->canvasBase() : 0));
- //qDebug() << ppVar((view() && view()->canvasBase() ? view()->canvasBase()->canvasWidget() : 0));
-
- if (!expectedCanvasWidget /*|| target != expectedCanvasWidget*/) return false;
+ if (!expectedCanvasWidget || target != expectedCanvasWidget) return false;
if(event->type() == QEvent::MouseButtonPress || event->type() == QEvent::TabletPress) {
QMouseEvent *me = dynamic_cast<QMouseEvent*>(event);
dkazakov edited the content of this paste. (Show Details)May 3 2016, 11:51 AM
dkazakov changed the title of this paste from untitled to Masterwork From Distant Lands.