summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/registered-widget.cpp
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2007-11-23 19:40:07 +0000
committerjohanengelen <johanengelen@users.sourceforge.net>2007-11-23 19:40:07 +0000
commita4b98e357262dec123a61f6e5b084996fdc3515c (patch)
tree30e5d8d74d3db97eef5a31de51d8018d89380cdb /src/ui/widget/registered-widget.cpp
parentfix bug caused by rev. 16540 (diff)
downloadinkscape-a4b98e357262dec123a61f6e5b084996fdc3515c.tar.gz
inkscape-a4b98e357262dec123a61f6e5b084996fdc3515c.zip
Fix [ 1835591 ] Reproducible crash on opening the attached file
(bzr r4129)
Diffstat (limited to 'src/ui/widget/registered-widget.cpp')
-rw-r--r--src/ui/widget/registered-widget.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp
index 804a403f6..1ee52cc99 100644
--- a/src/ui/widget/registered-widget.cpp
+++ b/src/ui/widget/registered-widget.cpp
@@ -221,16 +221,19 @@ RegisteredScalarUnit::getSU()
void
RegisteredScalarUnit::setValue (double val)
{
- _widget->setValue (val);
+ if (_widget)
+ _widget->setValue (val);
}
void
RegisteredScalarUnit::on_value_changed()
{
+g_message("on_value_changed");
if (_widget->setProgrammatically) {
_widget->setProgrammatically = false;
return;
}
+g_message("on_value_changed1");
if (_wr->isUpdating())
return;
@@ -284,7 +287,8 @@ RegisteredScalar::getS()
void
RegisteredScalar::setValue (double val)
{
- _widget->setValue (val);
+ if (_widget)
+ _widget->setValue (val);
}
void
@@ -483,9 +487,15 @@ const Glib::ustring& key, Registry& wr, Inkscape::XML::Node* repr_in, SPDocument
void
RegisteredRadioButtonPair::setValue (bool second)
{
+ if (!_rb1 || !_rb2)
+ return;
+
setProgrammatically = true;
- if (second) _rb2->set_active();
- else _rb1->set_active();
+ if (second) {
+ _rb2->set_active();
+ } else {
+ _rb1->set_active();
+ }
}
void
@@ -549,7 +559,8 @@ RegisteredPoint::getPoint()
void
RegisteredPoint::setValue (double xval, double yval)
{
- _widget->setValue(xval, yval);
+ if (_widget)
+ _widget->setValue(xval, yval);
}
void
@@ -615,6 +626,9 @@ RegisteredRandom::getR()
void
RegisteredRandom::setValue (double val, long startseed)
{
+ if (!_widget)
+ return;
+
_widget->setValue (val);
_widget->setStartSeed(startseed);
}