More canonical test.
There is an exception happening around here in some cases when connection is dropped while waiting for answer. Not sure that this fixes it but this is anyhow better.
<?xml version="1.0"?>
<!-- generated by wxGlade 0.7.2 on Tue Jun 6 12:26:48 2017 -->
<application class="" encoding="UTF-8" for_version="2.8" header_extension=".h" indent_amount="4" indent_symbol="space" is_template="0" language="python" name="" option="0" overwrite="0" path="..py.py" source_extension=".cpp" top_window="wxglade_hmi" use_gettext="1" use_new_namespace="1">
<object class="Class_wxglade_hmi" name="wxglade_hmi" base="EditFrame">
<style>wxDEFAULT_FRAME_STYLE|wxMAXIMIZE</style>
<title>frame_1</title>
<object class="wxFlexGridSizer" name="grid_sizer_1" base="EditFlexGridSizer">
<hgap>0</hgap>
<growable_rows>0</growable_rows>
<rows>1</rows>
<growable_cols>0</growable_cols>
<cols>4</cols>
<vgap>0</vgap>
<object class="sizeritem">
<flag>wxALIGN_CENTER</flag>
<border>0</border>
<option>1</option>
<object class="ThreeDee" name="window_1" base="CustomWidget">
<extracode># WHERE IS THAT ?\nprint "hello"\n</extracode>
<arguments>
<argument>$parent</argument>
<argument>$id</argument>
</arguments>
<size>400,400</size>
</object>
</object>
<object class="sizeritem">
<flag>wxEXPAND</flag>
<border>0</border>
<option>1</option>
<object class="wxFlexGridSizer" name="sizer_1" base="EditFlexGridSizer">
<hgap>0</hgap>
<growable_rows>0</growable_rows>
<rows>2</rows>
<cols>1</cols>
<vgap>0</vgap>
<object class="sizeritem">
<flag>wxEXPAND</flag>
<border>0</border>
<option>1</option>
<object class="wxBoxSizer" name="sizer_2" base="EditBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
</object>
</object>
<object class="sizeritem">
<flag>wxEXPAND</flag>
<border>0</border>
<option>1</option>
<object class="wxGridSizer" name="sizer_3" base="EditGridSizer">
<hgap>0</hgap>
<rows>6</rows>
<cols>2</cols>
<vgap>0</vgap>
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
<object class="sizerslot" />
</object>
</object>
</object>
</object>
<object class="sizeritem">
<border>0</border>
<option>0</option>
<object class="wxToggleButton" name="DrawTestBt" base="EditToggleButton">
<label>Please Draw!</label>
<events>
<handler event="EVT_TOGGLEBUTTON">SetPLCTestBtnGlobalVar</handler>
</events>
</object>
</object>
<object class="sizeritem">
<border>0</border>
<option>0</option>
<object class="wxToggleButton" name="DrawTestBt2" base="EditToggleButton">
<label>Please Draw copy!</label>
<events>
<handler event="EVT_TOGGLEBUTTON">SetPLCTestBtn2GlobalVar</handler>
</events>
</object>
</object>
</object>
</object>
</application>