--- BasiliskII/src/AmigaOS/prefs_editor_amiga.cpp 1999/11/01 16:24:10 1.5 +++ BasiliskII/src/AmigaOS/prefs_editor_amiga.cpp 2000/07/14 21:29:11 1.9 @@ -1,7 +1,7 @@ /* * prefs_editor_amiga.cpp - Preferences editor, AmigaOS implementation (using gtlayout.library) * - * Basilisk II (C) 1997-1999 Christian Bauer + * Basilisk II (C) 1997-2000 Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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) {