dtwm: Define a final fallback for loading default window manager font
authorJon Trulson <jon@radscan.com>
Wed, 8 Aug 2012 17:39:29 +0000 (11:39 -0600)
committerJon Trulson <jon@radscan.com>
Wed, 8 Aug 2012 17:39:29 +0000 (11:39 -0600)
Patch from Frederic Koehler <f.koehler427@gmail.com>:

Define a final fallback for loading default window manager font;
before exiting, forcefully try to load "fixed" font. This is sufficient
to allow systems where fontList is set to an empty list to startup dtwm,
for now.

cde/programs/dtwm/WmResource.c

index 7c3d49c87bcfd4a4cdbc7a8e0017deb96043ff23..af86d8cf0f83a7ca7bb85caaa90e9ea43cc6a184 100644 (file)
@@ -4433,7 +4433,17 @@ MakeAppearanceResources (WmScreenData *pSD, AppearanceData *pAData, Boolean make
     {
        sprintf((char *)wmGD.tmpBuffer, ((char *)GETMESSAGE(62, 23, "failed to load font: %.100s\0")), (char*) pAData->fontList);
        Warning((char *)wmGD.tmpBuffer);
+#if defined(CSRG_BASED) || defined(linux)
+       /* HACK to try get _some_ font anyway (fontList seems to end up as an empty list on
+         * some modern systems; investigate) */
+        pAData->font = XLoadQueryFont(wmGD.display, "fixed");
+       if (pAData->font == NULL) {
+           ExitWM(WM_ERROR_EXIT_VALUE);
+       }
+#else
        ExitWM(WM_ERROR_EXIT_VALUE);
+#endif
+
     }
 
 #ifndef NO_MULTIBYTE