# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1612388655 0 # Node ID 3361ce6070ce592792d553ceb476f48dc445e8cb # Parent 0c88059df8e9525fbe4dfe79929437ca1c4c8252 Add DW_FEATURE_TASK_BAR to the feature tests, for taskbar icon support. Not having this earlier was probably an oversight, but added it because GTK4 removes the widget that allowed this support. diff -r 0c88059df8e9 -r 3361ce6070ce dw.h --- a/dw.h Wed Feb 03 20:55:51 2021 +0000 +++ b/dw.h Wed Feb 03 21:44:15 2021 +0000 @@ -1524,6 +1524,7 @@ DW_FEATURE_NOTIFICATION, /* Supports sending system notifications */ DW_FEATURE_UTF8_UNICODE, /* Supports UTF8 encoded Unicode text */ DW_FEATURE_MLE_RICH_EDIT, /* Supports Rich Edit based MLE control (Windows) */ + DW_FEATURE_TASK_BAR, /* Supports icons in the taskbar or similar system widget */ DW_FEATURE_MAX } DWFEATURE; diff -r 0c88059df8e9 -r 3361ce6070ce dwtest.c --- a/dwtest.c Wed Feb 03 20:55:51 2021 +0000 +++ b/dwtest.c Wed Feb 03 21:44:15 2021 +0000 @@ -1987,6 +1987,7 @@ "Supports sending system notifications", "Supports UTF8 encoded Unicode text", "Supports Rich Edit based MLE control (Windows)", + "Supports icons in the taskbar or similar system widget", NULL }; /* diff -r 0c88059df8e9 -r 3361ce6070ce gtk/dw.c --- a/gtk/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13981,6 +13981,9 @@ #ifdef DW_INCLUDE_DEPRECATED case DW_FEATURE_MDI: #endif +#if GTK_CHECK_VERSION(2,10,0) + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_CONTAINER_STRIPE: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: @@ -14017,6 +14020,9 @@ #ifdef DW_INCLUDE_DEPRECATED case DW_FEATURE_MDI: #endif +#if GTK_CHECK_VERSION(2,10,0) + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_CONTAINER_STRIPE: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: diff -r 0c88059df8e9 -r 3361ce6070ce gtk3/dw.c --- a/gtk3/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk3/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -12484,6 +12484,7 @@ #if !GTK_CHECK_VERSION(3,14,0) case DW_FEATURE_CONTAINER_STRIPE: #endif + case DW_FEATURE_TASK_BAR: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: return DW_FEATURE_ENABLED; @@ -12525,6 +12526,7 @@ #if !GTK_CHECK_VERSION(3,14,0) case DW_FEATURE_CONTAINER_STRIPE: #endif + case DW_FEATURE_TASK_BAR: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: return DW_ERROR_GENERAL; diff -r 0c88059df8e9 -r 3361ce6070ce gtk4/dw.c --- a/gtk4/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk4/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -2226,14 +2226,14 @@ { if(menu && *menu) { - GtkWidget *window; + GtkWidget *window = NULL; /* If it is a menu bar, try to delete the reference to it */ if(GTK_IS_POPOVER_MENU_BAR(*menu) && (window = GTK_WIDGET(g_object_get_data(G_OBJECT(*menu), "_dw_window")))) g_object_set_data(G_OBJECT(window), "_dw_menubar", NULL); /* Actually destroy the menu */ - if(GTK_IS_WIDGET(*menu)) + if(GTK_IS_WIDGET(*menu) && window) { GtkWidget *box = GTK_WIDGET(g_object_get_data(G_OBJECT(window), "_dw_grid")); if(box && GTK_IS_GRID(box)) diff -r 0c88059df8e9 -r 3361ce6070ce mac/dw.m --- a/mac/dw.m Wed Feb 03 20:55:51 2021 +0000 +++ b/mac/dw.m Wed Feb 03 21:44:15 2021 +0000 @@ -13096,6 +13096,9 @@ #ifdef BUILDING_FOR_MOUNTAIN_LION case DW_FEATURE_NOTIFICATION: #endif +#ifdef BUILDING_FOR_YOSEMITE + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_HTML: case DW_FEATURE_HTML_RESULT: case DW_FEATURE_CONTAINER_STRIPE: @@ -13153,6 +13156,9 @@ #ifdef BUILDING_FOR_MOUNTAIN_LION case DW_FEATURE_NOTIFICATION: #endif +#ifdef BUILDING_FOR_YOSEMITE + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_HTML: case DW_FEATURE_HTML_RESULT: case DW_FEATURE_CONTAINER_STRIPE: diff -r 0c88059df8e9 -r 3361ce6070ce os2/dw.c --- a/os2/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/os2/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13860,6 +13860,12 @@ case DW_FEATURE_NOTEBOOK_STATUS_TEXT: case DW_FEATURE_MDI: return DW_FEATURE_ENABLED; + case DW_FEATURE_TASK_BAR: + { + if(hwndTrayServer) + return DW_ERROR_ENABLED; + return DW_FEATURE_UNSUPPORTED; + } default: return DW_FEATURE_UNSUPPORTED; } @@ -13891,6 +13897,12 @@ case DW_FEATURE_NOTEBOOK_STATUS_TEXT: case DW_FEATURE_MDI: return DW_ERROR_GENERAL; + case DW_FEATURE_TASK_BAR: + { + if(hwndTrayServer) + return DW_ERROR_GENERAL; + return DW_FEATURE_UNSUPPORTED; + } /* These features are supported and configurable */ default: return DW_FEATURE_UNSUPPORTED; diff -r 0c88059df8e9 -r 3361ce6070ce win/dw.c --- a/win/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/win/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13891,6 +13891,7 @@ return DW_FEATURE_UNSUPPORTED; } #endif + case DW_FEATURE_TASK_BAR: default: return DW_FEATURE_UNSUPPORTED; } @@ -13969,6 +13970,8 @@ return DW_ERROR_GENERAL; } #endif + case DW_FEATURE_TASK_BAR: + return DW_ERROR_GENERAL; default: return DW_FEATURE_UNSUPPORTED; }