@@ -1381,21 +1381,6 @@ CString out("");
13811381
13821382 /* Set output file to the default file: Empty means default output file. */
13831383 SetOutFile (out);
1384-
1385- out = " static VOID gx_studio_screen_toggle(GX_WIDGET *target1, GX_WIDGET *target2)\n "
1386- " {\n "
1387- " GX_WIDGET *parent = target1->gx_widget_parent;\n "
1388- " if (parent)\n "
1389- " {\n "
1390- " gx_widget_detach(target1);\n "
1391- " gx_widget_attach(parent, target2);\n "
1392- " if (target1->gx_widget_status & GX_STATUS_STUDIO_CREATED)\n "
1393- " {\n "
1394- " gx_widget_delete(target1);\n "
1395- " }\n "
1396- " }\n "
1397- " }\n\n " ;
1398- FileWrite (out);
13991384
14001385 out = " static GX_WIDGET *gx_studio_action_target_get(GX_WIDGET *current, GX_CONST GX_STUDIO_ACTION *action)\n "
14011386 " {\n "
@@ -1586,7 +1571,17 @@ CString out("");
15861571 " break;\n\n "
15871572 " case GX_ACTION_TYPE_TOGGLE:\n "
15881573 " target = gx_studio_action_target_get(widget, action);\n "
1589- " gx_studio_screen_toggle(widget, target);\n "
1574+ " parent = widget->gx_widget_parent;\n "
1575+ " if (parent)\n "
1576+ " {\n "
1577+ " gx_widget_detach(widget);\n "
1578+ " gx_widget_attach(parent, target);\n "
1579+ " if (widget->gx_widget_status & GX_STATUS_STUDIO_CREATED)\n "
1580+ " {\n "
1581+ " gx_widget_delete(widget);\n "
1582+ " widget = GX_NULL;\n "
1583+ " }\n "
1584+ " }\n "
15901585 " break;\n\n "
15911586 " case GX_ACTION_TYPE_SHOW:\n "
15921587 " target = gx_studio_action_target_get(widget, action);\n "
@@ -1663,7 +1658,17 @@ CString out("");
16631658 " {\n "
16641659 " target = gx_studio_action_target_get(widget, action);\n "
16651660 " }\n "
1666- " gx_studio_screen_toggle(widget, target);\n "
1661+ " parent = widget->gx_widget_parent;\n "
1662+ " if (parent)\n "
1663+ " {\n "
1664+ " gx_widget_detach(widget);\n "
1665+ " gx_widget_attach(parent, target);\n "
1666+ " if (widget->gx_widget_status & GX_STATUS_STUDIO_CREATED)\n "
1667+ " {\n "
1668+ " gx_widget_delete(widget);\n "
1669+ " widget = GX_NULL;\n "
1670+ " }\n "
1671+ " }\n "
16671672 " break;\n\n "
16681673 " case GX_ACTION_TYPE_SHOW:\n "
16691674 " target = gx_studio_action_target_get(widget, action);\n "
@@ -1728,7 +1733,7 @@ CString out("");
17281733 " entry++;\n "
17291734 " }\n\n "
17301735
1731- " if (record->chain_event_handler)\n "
1736+ " if (widget && record->chain_event_handler)\n "
17321737 " {\n "
17331738 " status = record->chain_event_handler(widget, event_ptr);\n "
17341739 " }\n "
0 commit comments