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

@ -143,7 +143,7 @@ private:
size_t m_instance_hash_int;
// parameters needed for the after OnInit() loads
struct AFTER_INIT_LOADS
struct AfterInitLoads
{
std::vector<std::string> m_load_configs;
DynamicPrintConfig m_extra_config;
@ -272,7 +272,7 @@ public:
PresetUpdater* preset_updater{ nullptr };
MainFrame* mainframe{ nullptr };
Plater* plater_{ nullptr };
AFTER_INIT_LOADS m_after_init_loads;
AfterInitLoads after_init_loads;
PresetUpdater* get_preset_updater() { return preset_updater; }