From cb4206de797dff06d7d0cada4a6bed6df3c9bf78 Mon Sep 17 00:00:00 2001 From: otigreat Date: Wed, 16 Nov 2011 21:31:58 +0000 Subject: [PATCH] Properly navigate in drawers. git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42498 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- workbench/libs/asl/filereqhooks.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/workbench/libs/asl/filereqhooks.c b/workbench/libs/asl/filereqhooks.c index 6ff0cfeffa..7fa0afc6d6 100644 --- a/workbench/libs/asl/filereqhooks.c +++ b/workbench/libs/asl/filereqhooks.c @@ -1037,7 +1037,10 @@ STATIC ULONG FRHandleEvents(struct LayoutData *ld, struct AslBase_intern *AslBas udata = (struct FRUserData *)ld->ld_UserData; ifreq = (struct IntFileReq *)ld->ld_IntReq; + if ((imsg = ld->ld_Event)) + { + D(bug("[ASL] FRHandleEvents() imsg->Code = '%d'\n", imsg->Code)); switch (imsg->Class) { case IDCMP_CLOSEWINDOW: @@ -1089,7 +1092,7 @@ STATIC ULONG FRHandleEvents(struct LayoutData *ld, struct AslBase_intern *AslBas case IDCMP_VANILLAKEY: switch(imsg->Code) { - case 27: + case 27: /* ESC */ retval = FALSE; break; } @@ -1193,7 +1196,7 @@ STATIC ULONG FRHandleEvents(struct LayoutData *ld, struct AslBase_intern *AslBas FRSetFile(fp, ld, AslBase); } else { - FRNewPath(filestring, ld, AslBase); + FRAddPath(filestring, ld, AslBase); FRSetFile("", ld, AslBase); } } @@ -1261,8 +1264,9 @@ STATIC ULONG FRHandleEvents(struct LayoutData *ld, struct AslBase_intern *AslBas ActivateGadget((struct Gadget *)udata->FileGad, ld->ld_Window, NULL); } } - GetAttr(STRINGA_TextVal, udata->PathGad, (IPTR *)&dir); - FRNewPath(dir, ld, AslBase); + GetAttr(STRINGA_TextVal, udata->FileGad, (IPTR *)&dir); + FRAddPath(dir, ld, AslBase); + FRSetFile("", ld, AslBase); } break; @@ -1445,6 +1449,7 @@ STATIC ULONG FRHandleEvents(struct LayoutData *ld, struct AslBase_intern *AslBas break; /* case IDCMP_MENUPICK: */ } /* switch (imsg->Class) */ + } /* if((imsg = ld->ld_Event)) */ ReturnInt ("FRHandleEvents", ULONG, retval); } -- 2.11.4.GIT