Index: src/gui/widget_list.h =================================================================== --- src/gui/widget_list.h (revision 8471) +++ src/gui/widget_list.h (working copy) @@ -36,6 +36,7 @@ private: Widget* selected_widget; + bool redrawbackground_once; protected: std::list widget_list; Index: src/gui/widget_list.cpp =================================================================== --- src/gui/widget_list.cpp (revision 8471) +++ src/gui/widget_list.cpp (working copy) @@ -27,20 +27,23 @@ #include WidgetList::WidgetList() : - selected_widget(NULL) + selected_widget(NULL), + redrawbackground_once(true) { } WidgetList::WidgetList(const Point2i &size) : Widget(size), - selected_widget(NULL) + selected_widget(NULL), + redrawbackground_once(true) { } WidgetList::WidgetList(Profile * profile, const xmlNode * widgetListNode) : Widget(profile, widgetListNode), - selected_widget(NULL) + selected_widget(NULL), + redrawbackground_once(true) { } @@ -328,8 +331,10 @@ SwapWindowClip(wlr_tmp); // Redraw the background - if (need_redrawing) + if (redrawbackground_once) { RedrawBackground(wlr); + redrawbackground_once = false; + } for (std::list::const_iterator w=widget_list.begin(); w != widget_list.end(); Index: src/menu/team_box.cpp =================================================================== --- src/menu/team_box.cpp (revision 8471) +++ src/menu/team_box.cpp (working copy) @@ -173,7 +173,7 @@ if (associated_team != NULL) { WidgetList::Update(mousePosition, lastMousePosition); } else { - RedrawBackground(*this); + //RedrawBackground(*this); } if (associated_team != NULL && previous_player_name != player_name->GetText()) {