[vlc-devel] [PATCH] fix for fullscreen issue under xfce

Lars Mueller cobinja at yahoo.de
Mon May 7 23:55:53 CEST 2012


---
  modules/gui/qt4/main_interface.cpp |   12 ++++++++++--
  modules/gui/qt4/main_interface.hpp |    1 +
  2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp
index db3a12d..0b34647 100644
--- a/modules/gui/qt4/main_interface.cpp
+++ b/modules/gui/qt4/main_interface.cpp
@@ -252,6 +252,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
      /* Switch to minimal view if needed, must be called after the show() */
      if( b_minimalView )
          toggleMinimalView( true );
+
+    stateBeforeFullScreen = windowState();
  }

  MainInterface::~MainInterface()
@@ -1336,9 +1338,15 @@ void MainInterface::closeEvent( QCloseEvent *e )
  void MainInterface::setInterfaceFullScreen( bool fs )
  {
      if( fs )
-        setWindowState( windowState() | Qt::WindowFullScreen );
+    {
+        stateBeforeFullScreen = windowState();
+        showFullScreen();
+    }
      else
-        setWindowState( windowState() & ~Qt::WindowFullScreen );
+    {
+        showNormal(); /* maximizing directly from fullscreen doesn't necessarily work with all X11 window managers */
+        setWindowState(stateBeforeFullScreen);
+    }
  }
  void MainInterface::toggleInterfaceFullScreen()
  {
diff --git a/modules/gui/qt4/main_interface.hpp b/modules/gui/qt4/main_interface.hpp
index c81d8b5..505e4e4 100644
--- a/modules/gui/qt4/main_interface.hpp
+++ b/modules/gui/qt4/main_interface.hpp
@@ -169,6 +169,7 @@ private:

      bool                 b_hasPausedWhenMinimized;
      bool                 b_statusbarVisible;
+    Qt::WindowStates     stateBeforeFullScreen;  ///< The window state before switching to fullscreen

  #ifdef WIN32
      HIMAGELIST himl;
-- 
1.7.9.5






More information about the vlc-devel mailing list