aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/ThemeRenderer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/gui/ThemeRenderer.cpp b/gui/ThemeRenderer.cpp
index c7b0817110..1aca311f58 100644
--- a/gui/ThemeRenderer.cpp
+++ b/gui/ThemeRenderer.cpp
@@ -362,7 +362,12 @@ void ThemeRenderer::queueDD(DrawData type, const Common::Rect &r, uint32 dynamic
if (kDrawDataDefaults[type].parent != kDDNone && kDrawDataDefaults[type].parent != type)
queueDD(kDrawDataDefaults[type].parent, r);
- _screenQueue.push_back(q);
+ // HACK: text selection backgrounds must be drawn before other widgets, because
+ // they are implemented poorly and they overlap.
+ if (type == kDDTextSelectionBackground)
+ _screenQueue.push_front(q);
+ else
+ _screenQueue.push_back(q);
}
} else {
drawDD(q, !_widgets[type]->_buffer, _widgets[type]->_buffer);