diff options
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index a249498b3..57b2dd478 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -404,6 +404,7 @@ void ami_handle_msg(void) struct nsObject *nnode; struct gui_window *gwin,*destroywin=NULL; struct MenuItem *item; + struct InputEvent *ie; node = (struct nsObject *)window_list->mlh_Head; @@ -411,6 +412,19 @@ void ami_handle_msg(void) { gwin = node->objstruct; + if(node->Type == AMINS_TVWINDOW) + { + if(ami_tree_event((struct treeviw_window *)gwin)) + { + break; + } + else + { + node = nnode; + continue; + } + } + while((result = RA_HandleInput(gwin->objects[OID_MAIN],&code)) != WMHI_LASTMSG) { @@ -588,6 +602,8 @@ void ami_handle_msg(void) case WMHI_RAWKEY: storage = result & WMHI_GADGETMASK; + + GetAttr(WINDOW_InputEvent,gwin->objects[OID_MAIN],(ULONG *)&ie); switch(storage) { case RAWKEY_CRSRUP: @@ -633,17 +649,7 @@ void ami_handle_msg(void) break; case WMHI_CLOSEWINDOW: - switch(node->Type) - { - case AMINS_TVWINDOW: - ami_tree_close((struct treeview_window *)gwin); - break; - - default: - browser_window_destroy(gwin->bw); - break; - } - //destroywin=gwin; + browser_window_destroy(gwin->bw); break; case WMHI_INTUITICK: |