[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra] krita/plugins/paintops/gridbrush: fix crash caused by
From:       Silvio Heinrich <plassy () web ! de>
Date:       2011-11-05 12:12:37
Message-ID: 20111105121237.C2B84A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit c3d3ff13eb3736e0c48b4555f1f7b913585769e1 by Silvio Heinrich.
Committed on 05/11/2011 at 13:09.
Pushed by heinrich into branch 'master'.

fix crash caused by invalid input data of grid brush.

BUG:285805

M  +4    -4    krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp
M  +12   -0    krita/plugins/paintops/gridbrush/wdggridoptions.ui

http://commits.kde.org/calligra/c3d3ff13eb3736e0c48b4555f1f7b913585769e1

diff --git a/krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp \
b/krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp index bdfda59..85ee70a 100644
--- a/krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp
+++ b/krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp
@@ -236,12 +236,12 @@ qreal KisGridPaintOp::paintAt(const KisPaintInformation& info)
 
 void KisGridProperties::fillProperties(const KisPropertiesConfiguration* setting)
 {
-    gridWidth = setting->getInt(GRID_WIDTH);
-    gridHeight = setting->getInt(GRID_HEIGHT);
-    divisionLevel = setting->getInt(GRID_DIVISION_LEVEL);
+    gridWidth = qMax(1, setting->getInt(GRID_WIDTH));
+    gridHeight = qMax(1, setting->getInt(GRID_HEIGHT));
+    divisionLevel = qMax(1, setting->getInt(GRID_DIVISION_LEVEL));
     pressureDivision =  setting->getBool(GRID_PRESSURE_DIVISION);
     randomBorder = setting->getBool(GRID_RANDOM_BORDER);
-    scale = setting->getDouble(GRID_SCALE);
+    scale = qMax(0.1, setting->getDouble(GRID_SCALE));
     vertBorder  = setting->getDouble(GRID_VERTICAL_BORDER);
     horizBorder = setting->getDouble(GRID_HORIZONTAL_BORDER);
 
diff --git a/krita/plugins/paintops/gridbrush/wdggridoptions.ui \
b/krita/plugins/paintops/gridbrush/wdggridoptions.ui index 497f4a2..b69a1d1 100644
--- a/krita/plugins/paintops/gridbrush/wdggridoptions.ui
+++ b/krita/plugins/paintops/gridbrush/wdggridoptions.ui
@@ -41,6 +41,9 @@
     </item>
     <item row="0" column="1" colspan="2">
      <widget class="QSpinBox" name="gridWidthSPBox">
+      <property name="minimum">
+       <number>1</number>
+      </property>
       <property name="maximum">
        <number>999</number>
       </property>
@@ -58,6 +61,9 @@
     </item>
     <item row="1" column="1" colspan="2">
      <widget class="QSpinBox" name="gridHeightSPBox">
+      <property name="minimum">
+       <number>1</number>
+      </property>
       <property name="maximum">
        <number>999</number>
       </property>
@@ -75,6 +81,9 @@
     </item>
     <item row="2" column="1" colspan="2">
      <widget class="QSpinBox" name="divisionLevelSPBox">
+      <property name="minimum">
+       <number>1</number>
+      </property>
       <property name="maximum">
        <number>999</number>
       </property>
@@ -102,6 +111,9 @@
       <property name="decimals">
        <number>1</number>
       </property>
+      <property name="minimum">
+       <double>0.100000000000000</double>
+      </property>
       <property name="maximum">
        <double>1000.000000000000000</double>
       </property>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic