summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--otk/focuslabel.cc10
-rw-r--r--otk/label.cc10
2 files changed, 18 insertions, 2 deletions
diff --git a/otk/focuslabel.cc b/otk/focuslabel.cc
index 6d7d5c31..8ac328e7 100644
--- a/otk/focuslabel.cc
+++ b/otk/focuslabel.cc
@@ -51,7 +51,15 @@ void FocusLabel::update()
w = ft->measureString(_text) + sidemargin * 2;
if (!_fixed_height)
h = ft->height();
- internalResize(w, h);
+
+ // enforce a minimum size
+ if (w > _rect.width()) {
+ if (h > _rect.height())
+ internalResize(w, h);
+ else
+ internalResize(w, _rect.height());
+ } else
+ internalResize(_rect.width(), h);
}
FocusWidget::update();
}
diff --git a/otk/label.cc b/otk/label.cc
index fa5fefff..8352fb7a 100644
--- a/otk/label.cc
+++ b/otk/label.cc
@@ -47,7 +47,15 @@ void Label::update()
w = ft->measureString(_text) + sidemargin * 2;
if (!_fixed_height)
h = ft->height();
- internalResize(w, h);
+
+ // enforce a minimum size
+ if (w > _rect.width()) {
+ if (h > _rect.height())
+ internalResize(w, h);
+ else
+ internalResize(w, _rect.height());
+ } else
+ internalResize(_rect.width(), h);
}
Widget::update();
}