@ -35,14 +35,14 @@ XWindowInterface::XWindowInterface(QQuickWindow *const view, QObject *parent)
{
Q_ASSERT ( view ! = nullptr ) ;
connect ( KWindowSystem : : self ( ) , & KWindowSystem : : activeWindowChanged
, this , & AbstractWindowInterface : : activeWindowChanged ) ;
connect ( KWindowSystem : : self ( )
, static_cast < void ( KWindowSystem : : * ) ( WId , NET : : Properties , NET : : Properties2 ) >
( & KWindowSystem : : windowChanged )
, this , & XWindowInterface : : windowChangedProxy ) ;
connect ions < < connect ( KWindowSystem : : self ( ) , & KWindowSystem : : activeWindowChanged
, this , & AbstractWindowInterface : : activeWindowChanged ) ;
connect ions < < connect ( KWindowSystem : : self ( )
, static_cast < void ( KWindowSystem : : * ) ( WId , NET : : Properties , NET : : Properties2 ) >
( & KWindowSystem : : windowChanged )
, this , & XWindowInterface : : windowChangedProxy ) ;
auto addWindow = [ & ] ( WId wid ) {
if ( std : : find ( m_windows . cbegin ( ) , m_windows . cend ( ) , wid ) = = m_windows . cend ( ) ) {
if ( isValidWindow ( KWindowInfo ( wid , NET : : WMWindowType ) ) ) {
@ -52,18 +52,18 @@ XWindowInterface::XWindowInterface(QQuickWindow *const view, QObject *parent)
}
} ;
connect ( KWindowSystem : : self ( ) , & KWindowSystem : : windowAdded , this , addWindow ) ;
connect ions < < connect ( KWindowSystem : : self ( ) , & KWindowSystem : : windowAdded , this , addWindow ) ;
connect ( KWindowSystem : : self ( ) , & KWindowSystem : : windowRemoved , [ this ] ( WId wid ) {
connect ions < < connect ( KWindowSystem : : self ( ) , & KWindowSystem : : windowRemoved , [ this ] ( WId wid ) {
if ( std : : find ( m_windows . cbegin ( ) , m_windows . cend ( ) , wid ) ! = m_windows . end ( ) ) {
m_windows . remove ( wid ) ;
emit windowRemoved ( wid ) ;
}
} ) ;
connect ( KWindowSystem : : self ( ) , & KWindowSystem : : currentDesktopChanged
, this , & AbstractWindowInterface : : currentDesktopChanged ) ;
connect ions < < connect ( KWindowSystem : : self ( ) , & KWindowSystem : : currentDesktopChanged
, this , & AbstractWindowInterface : : currentDesktopChanged ) ;
// fill windows list
foreach ( const auto & wid , KWindowSystem : : self ( ) - > windows ( ) ) {
addWindow ( wid ) ;
@ -72,7 +72,13 @@ XWindowInterface::XWindowInterface(QQuickWindow *const view, QObject *parent)
XWindowInterface : : ~ XWindowInterface ( )
{
qDebug ( ) < < " x window interface deleting... " ;
foreach ( auto var , connections ) {
QObject : : disconnect ( var ) ;
}
qDebug ( ) < < " x window interface connections removed... " ;
}
void XWindowInterface : : setDockDefaultFlags ( )