[vlc-commits] [Git][videolan/vlc][master] qt: fix CompositorDCompositionAcrylicSurface causing the interface window to be inactive

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Oct 28 07:04:38 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
87e90004 by Fatih Uzunoglu at 2024-10-28T06:43:56+00:00
qt: fix CompositorDCompositionAcrylicSurface causing the interface window to be inactive

CompositorDCompositionAcrylicSurface creates a window itself, which makes the newly
shown interface window to be no longer active.

The interface window is just shown, it should be active. At the same time, the window
CompositorDCompositionAcrylicSurface creates is a dummy window, so it does not
make sense for it to request (and steal from the interface window) activation.

- - - - -


1 changed file:

- modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp


Changes:

=====================================
modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
=====================================
@@ -319,10 +319,10 @@ try
     vlc_assert(!m_dummyWindow);
     // lDwmpCreateSharedMultiWindowVisual requires a window with disabled live (thumbnail) preview
     // use a hidden dummy window to avoid disabling live preview of main window
-    m_dummyWindow = ::CreateWindowExA(WS_EX_TOOLWINDOW, "STATIC", "dummy", WS_VISIBLE, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
+    m_dummyWindow = ::CreateWindowExA(WS_EX_TOOLWINDOW, "STATIC", "dummy", 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
     if (!m_dummyWindow)
         throw DXError("failed to create dummy window",  static_cast<HRESULT>(GetLastError()));
-
+    ShowWindow(m_dummyWindow, SW_SHOWNOACTIVATE);
     int attr = DWM_CLOAKED_APP;
     DwmSetWindowAttribute(m_dummyWindow, DWMWA_CLOAK, &attr, sizeof attr);
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/87e90004eeb8e0058f5c126492aa2a4dd84133df

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/87e90004eeb8e0058f5c126492aa2a4dd84133df
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list