From d01e275a256c384c8952255a00114566eb1e9931 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 24 Oct 2010 20:23:45 +0000 Subject: (svn r21031) -Fix (r19883): Dropdown menu glitched in small screenshots, when issueing them from the menu. --- src/widgets/dropdown.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/widgets/dropdown.cpp') diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index 4609d07e2..ca859e799 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -287,8 +287,10 @@ struct DropdownWindow : Window { } if (this->click_delay != 0 && --this->click_delay == 0) { - /* Make the dropdown "invisible", so it doesn't affect new window placement. */ + /* Make the dropdown "invisible", so it doesn't affect new window placement. + * Also mark it dirty in case the callback deals with the screen. (e.g. screenshots). */ this->window_class = WC_INVALID; + this->SetDirty(); w2->OnDropdownSelect(this->parent_button, this->selected_index); delete this; @@ -302,8 +304,10 @@ struct DropdownWindow : Window { this->drag_mode = false; if (!this->GetDropDownItem(item)) { if (this->instant_close) { - /* Make the dropdown "invisible", so it doesn't affect new window placement. */ + /* Make the dropdown "invisible", so it doesn't affect new window placement. + * Also mark it dirty in case the callback deals with the screen. (e.g. screenshots). */ this->window_class = WC_INVALID; + this->SetDirty(); if (GetWidgetFromPos(w2, _cursor.pos.x - w2->left, _cursor.pos.y - w2->top) == this->parent_button) { /* Send event for selected option if we're still -- cgit v1.2.3-54-g00ecf