summaryrefslogtreecommitdiff
path: root/amiga/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-xamiga/gui.c28
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: