summaryrefslogtreecommitdiffstats
path: root/platform/windows/display_server_windows.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2024-03-07 20:42:24 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-03-13 10:51:38 +0200
commitac7583e4498598281e4372d69d7aab10d90aeacb (patch)
tree3ca2b6ec91bce1f68db0d3e768dd4ed6ae5b9a88 /platform/windows/display_server_windows.cpp
parent61282068f4d59cb48f35ad95391728c58d9008ab (diff)
downloadredot-engine-ac7583e4498598281e4372d69d7aab10d90aeacb.tar.gz
[NativeMenu] Implement native popup menu support on Windows.
Diffstat (limited to 'platform/windows/display_server_windows.cpp')
-rw-r--r--platform/windows/display_server_windows.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index eff2ec8f96..b810043495 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -3664,6 +3664,9 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
// Process window messages.
switch (uMsg) {
+ case WM_MENUCOMMAND: {
+ native_menu->_menu_activate(HMENU(lParam), (int)wParam);
+ } break;
case WM_CREATE: {
if (is_dark_mode_supported() && dark_title_available) {
BOOL value = is_dark_mode();
@@ -5470,7 +5473,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
if (tts_enabled) {
tts = memnew(TTS_Windows);
}
- native_menu = memnew(NativeMenu);
+ native_menu = memnew(NativeMenuWindows);
// Enforce default keep screen on value.
screen_set_keep_on(GLOBAL_GET("display/window/energy_saving/keep_screen_on"));