--- BasiliskII/src/AmigaOS/prefs_editor_amiga.cpp 2000/04/10 18:52:39 1.6 +++ BasiliskII/src/AmigaOS/prefs_editor_amiga.cpp 2000/07/22 16:20:54 1.10 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -37,6 +38,7 @@ #include #include #include +#include #include #include "sysdeps.h" @@ -511,6 +513,9 @@ quit: FreeAslRequest(dev_request); FreeAslRequest(file_request); + // Delete menus + LT_DisposeMenu(menu); + // Delete handle LT_DeleteHandle(h); @@ -871,9 +876,6 @@ do_req: if (req) { } } while (!done); - // Delete handle - LT_DeleteHandle(h); - // Update preferences and list view if (ok_clicked) { char str[256]; @@ -911,6 +913,9 @@ do_req: if (req) { LT_SetAttributes(h2, GAD_DISK_LIST, GTLV_Labels, (ULONG)&disk_list, TAG_END); ghost_volumes_gadgets(h2); } + + // Delete handle + LT_DeleteHandle(h); } // Remove volume from list @@ -1239,15 +1244,27 @@ static void ghost_graphics_gadgets(struc // Show screen mode requester static void screen_mode_req(struct Window *win, struct LayoutHandle *h) { - if (P96Base == NULL) + if (P96Base == NULL && CyberGfxBase == NULL) return; LT_LockWindow(win); - ULONG id = p96RequestModeIDTags( - P96MA_MinDepth, 8, - P96MA_FormatsAllowed, RGBFF_CLUT | RGBFF_R5G5B5 | RGBFF_A8R8G8B8, - TAG_END - ); + + ULONG id; + + if (P96Base) { + id = p96RequestModeIDTags( + P96MA_MinDepth, 8, + P96MA_FormatsAllowed, RGBFF_CLUT | RGBFF_R5G5B5 | RGBFF_A8R8G8B8, + TAG_END + ); + } else { + UWORD model_array[] = {PIXFMT_LUT8, PIXFMT_RGB16, PIXFMT_ARGB32, 0, ~0}; + id = (ULONG) CModeRequestTags(NULL, + CYBRMREQ_MinDepth, 8, + CYBRMREQ_CModelArray, (ULONG)model_array, + TAG_END + ); + } LT_UnlockWindow(win); if (id != INVALID_ID) {