Jump to content

[2.17] AlwaysOnTop windows can mask GUI events when minimized


photo

Recommended Posts

This bug was already present in 2.16 and still there in 2.17. An AlwaysOnTop window can intercept/blocks GUI events in the main window even when the window is minimized. Stranegly enough, the masked array does not match the position and size of the window.

int AppSystemLogic::init()
{
	// Write here code to be called on engine initialization.

	Input::setMouseHandle(Input::MOUSE_HANDLE_SOFT);
	//-the main window-
	{
		auto main_window_viewport = WindowManager::getMainWindow();
		auto gui = main_window_viewport->getSelfGui();

		auto button = WidgetButton::create(gui, "Button");
		main_window_viewport->addChild(button, Gui::ALIGN_EXPAND);
		main_window_viewport->setPosition({ 100, 100 });
		main_window_viewport->setSize({ 400, 400 });
	}
	//-the additional window, always on top-
	{
		auto window_viewport = EngineWindowViewport::create({ 200,200 });
		window_viewport->setAlwaysOnTop(true); //< the important part

		auto gui = window_viewport->getSelfGui();
		auto widget_window = WidgetWindow::create(gui, "Extra Window");
		widget_window->setSizeable(false);
		widget_window->setMoveable(false);
		window_viewport->addChild(widget_window, Gui::ALIGN_EXPAND);

		window_viewport->setPosition({ 100, 100 });
		window_viewport->show();
	}

	return 1;
}

 

Link to comment
×
×
  • Create New...