Ver Fonte

Merge pull request #2932 from Laserlicht/mainmenu_layer

fix layer problem in mainmenu
Ivan Savenko há 2 anos atrás
pai
commit
9147fd49ab
1 ficheiros alterados com 7 adições e 1 exclusões
  1. 7 1
      client/mainmenu/CMainMenu.cpp

+ 7 - 1
client/mainmenu/CMainMenu.cpp

@@ -94,7 +94,8 @@ CMenuScreen::CMenuScreen(const JsonNode & configNode)
 	menuNameToEntry.push_back("credits");
 
 	tabs = std::make_shared<CTabbedInt>(std::bind(&CMenuScreen::createTab, this, _1));
-	tabs->setRedrawParent(true);
+	if(config["video"].isNull())
+		tabs->setRedrawParent(true);
 }
 
 std::shared_ptr<CIntObject> CMenuScreen::createTab(size_t index)
@@ -108,7 +109,12 @@ std::shared_ptr<CIntObject> CMenuScreen::createTab(size_t index)
 void CMenuScreen::show(Canvas & to)
 {
 	if(!config["video"].isNull())
+	{
+		// redraw order: background -> video -> buttons and pictures
+		background->redraw();
 		CCS->videoh->update((int)config["video"]["x"].Float() + pos.x, (int)config["video"]["y"].Float() + pos.y, to.getInternalSurface(), true, false);
+		tabs->redraw();
+	}
 	CIntObject::show(to);
 }