wxEVT_CREATE and wxEVT_ACTIVATE is not being called on the main frame

on application start-up, at least not on Windows.
wxEVT_CREATE was called for some control deep in the Plater, however
the event was delivered to the main frame and only for slicer, not
for G-code viewer. Thus the callbacks for 3D Mouse were not registered
for and the 3D mouse did not work on Windows.

Fixed by calling the callback registration from the first execution
of the Idle function.
This commit is contained in:
Vojtech Bubnik 2020-10-14 12:55:00 +02:00
parent d7686d7e6a
commit e0c5309bc3
6 changed files with 71 additions and 66 deletions

View file

@ -156,6 +156,9 @@ public:
void create_preset_tabs();
void add_created_tab(Tab* panel);
bool is_active_and_shown_tab(Tab* tab);
// Register Win32 RawInput callbacks (3DConnexion) and removable media insert / remove callbacks.
// Called from wxEVT_ACTIVATE, as wxEVT_CREATE was not reliable (bug in wxWidgets?).
void register_win32_callbacks();
#if ENABLE_GCODE_VIEWER
void init_menubar_as_editor();
void init_menubar_as_gcodeviewer();