You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are cases where the Renderer is not the first listener for window resized events to be notified. This causes an issue with some programs that rely on the Renderer for width/height.
While not technically a bug this is very much a usability issue that has caused confusion for me and absolutely would cause confusion for users.
Solution here is to find a way to force the Renderer to get its resize event notification first -- how to do that is a bit more complicated as the Delegate class that is used in the Sigs/Slots implementation uses std::set which doesn't maintain insertion order.
Two options are available here: Modify the Delegate classes to use std::vector instead of std::set and perform a manual check for duplicates (more time consuming to develop but a fairly clean solution) or have the EventHandler explicitly push a resized event to the Renderer before anything else (a lot easier and faster but will result in duplicate events being received by the client application and is a true kludge).
The text was updated successfully, but these errors were encountered:
WindowResized event distribution may related to #701. Typically events are distributed from a main window using a window processing function. Extracting the Window code may provide some clues as to how to structure event distribution. It might be the Window class needs to perform some event processing first, before propagating the event to other listeners.
There are cases where the Renderer is not the first listener for window resized events to be notified. This causes an issue with some programs that rely on the Renderer for width/height.
While not technically a bug this is very much a usability issue that has caused confusion for me and absolutely would cause confusion for users.
Solution here is to find a way to force the Renderer to get its resize event notification first -- how to do that is a bit more complicated as the Delegate class that is used in the Sigs/Slots implementation uses std::set which doesn't maintain insertion order.
Two options are available here: Modify the Delegate classes to use std::vector instead of std::set and perform a manual check for duplicates (more time consuming to develop but a fairly clean solution) or have the EventHandler explicitly push a resized event to the Renderer before anything else (a lot easier and faster but will result in duplicate events being received by the client application and is a true kludge).
The text was updated successfully, but these errors were encountered: