diff --git a/krita/krita.action b/krita/krita.action
--- a/krita/krita.action
+++ b/krita/krita.action
@@ -2738,7 +2738,7 @@
Shear Layer
Shear Layer
- 100000
+ 1000
1
false
diff --git a/libs/image/kis_image.cc b/libs/image/kis_image.cc
--- a/libs/image/kis_image.cc
+++ b/libs/image/kis_image.cc
@@ -822,8 +822,13 @@
{
QPointF shearOrigin = QRectF(bounds()).center();
- shearImpl(kundo2_i18n("Shear layer"), node, false,
- angleX, angleY, shearOrigin);
+ if (node->inherits("KisMask")) {
+ shearImpl(kundo2_i18n("Shear Mask"), node, false,
+ angleX, angleY, shearOrigin);
+ } else {
+ shearImpl(kundo2_i18n("Shear Layer"), node, false,
+ angleX, angleY, shearOrigin);
+ }
}
void KisImage::shear(double angleX, double angleY)
diff --git a/libs/ui/kis_layer_manager.h b/libs/ui/kis_layer_manager.h
--- a/libs/ui/kis_layer_manager.h
+++ b/libs/ui/kis_layer_manager.h
@@ -70,7 +70,6 @@
void updateGUI();
void rotateLayer(double radians);
- void shearLayer(double angleX, double angleY);
private Q_SLOTS:
diff --git a/libs/ui/kis_layer_manager.cc b/libs/ui/kis_layer_manager.cc
--- a/libs/ui/kis_layer_manager.cc
+++ b/libs/ui/kis_layer_manager.cc
@@ -575,18 +575,6 @@
m_view->image()->rotateNode(layer, radians);
}
-void KisLayerManager::shearLayer(double angleX, double angleY)
-{
- if (!m_view->image()) return;
-
- KisLayerSP layer = activeLayer();
- if (!layer) return;
-
- if (!m_view->blockUntilOperationsFinished(m_view->image())) return;
-
- m_view->image()->shearNode(layer, angleX, angleY);
-}
-
void KisLayerManager::flattenImage()
{
KisImageSP image = m_view->image();
diff --git a/libs/ui/kis_node_manager.cpp b/libs/ui/kis_node_manager.cpp
--- a/libs/ui/kis_node_manager.cpp
+++ b/libs/ui/kis_node_manager.cpp
@@ -912,8 +912,14 @@
void KisNodeManager::shear(double angleX, double angleY)
{
- // XXX: implement shear for masks as well
- m_d->layerManager.shearLayer(angleX, angleY);
+ if (!m_d->view->image()) return;
+
+ KisNodeSP node = activeNode();
+ if (!node) return;
+
+ if(!m_d->view->blockUntilOperationsFinished(m_d->view->image())) return;
+
+ m_d->view->image()->shearNode(node, angleX, angleY);
}
void KisNodeManager::scale(double sx, double sy, KisFilterStrategy *filterStrategy)