summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2011-10-17 17:21:41 +0100
committerMichael Meeks <michael.meeks@suse.com>2011-10-25 13:41:55 +0100
commit16b9b1aa33504d57258d6b875c89cb77b47602e2 (patch)
tree7ce79a8fb70733226c0d82f34210fe4c5699cc6e /vcl
parent81d1ba27558003fa562d3d0e362318749bb730c9 (diff)
gtk3: fix display changed signal emissions
Diffstat (limited to 'vcl')
-rw-r--r--vcl/generic/app/gendisp.cxx8
-rw-r--r--vcl/inc/generic/gendisp.hxx1
-rw-r--r--vcl/unx/generic/app/randrwrapper.cxx4
-rw-r--r--vcl/unx/gtk/app/gtkdata.cxx14
4 files changed, 13 insertions, 14 deletions
diff --git a/vcl/generic/app/gendisp.cxx b/vcl/generic/app/gendisp.cxx
index e22835bb2687..5dd92c90b570 100644
--- a/vcl/generic/app/gendisp.cxx
+++ b/vcl/generic/app/gendisp.cxx
@@ -73,6 +73,12 @@ void SalGenericDisplay::deregisterFrame( SalFrame* pFrame )
m_aFrames.remove( pFrame );
}
+void SalGenericDisplay::emitDisplayChanged()
+{
+ if( !m_aFrames.empty() )
+ m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
+}
+
bool SalGenericDisplay::DispatchInternalEvent()
{
void* pData = NULL;
@@ -152,4 +158,6 @@ bool SalGenericDisplay::HasUserEvents() const
return bRet;
}
+
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/generic/gendisp.hxx b/vcl/inc/generic/gendisp.hxx
index 63f3c1a655a5..421154783277 100644
--- a/vcl/inc/generic/gendisp.hxx
+++ b/vcl/inc/generic/gendisp.hxx
@@ -68,6 +68,7 @@ public:
virtual void registerFrame( SalFrame* pFrame );
virtual void deregisterFrame( SalFrame* pFrame );
+ void emitDisplayChanged();
// Event handling
virtual void PostUserEvent() = 0;
diff --git a/vcl/unx/generic/app/randrwrapper.cxx b/vcl/unx/generic/app/randrwrapper.cxx
index 316bde14a83a..ff1f9e86896b 100644
--- a/vcl/unx/generic/app/randrwrapper.cxx
+++ b/vcl/unx/generic/app/randrwrapper.cxx
@@ -350,8 +350,8 @@ int SalDisplay::processRandREvent( XEvent* pEvent )
#endif
}
}
- if( bNotify && ! m_aFrames.empty() )
- m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
+ if( bNotify )
+ emitDisplayChanged();
}
}
#else
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index 54bcb7adcf45..9de7075c7d5c 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -204,24 +204,14 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event,
void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen )
{
-#if !GTK_CHECK_VERSION(3,0,0)
if (pScreen)
- m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
-#else
- (void)pScreen;
-#warning FIXME: implement screenSizeChanged ...
-#endif
+ emitDisplayChanged();
}
void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
{
-#if !GTK_CHECK_VERSION(3,0,0)
if (pScreen)
- m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
-#else
- (void)pScreen;
-#warning FIXME: implement monitorsChanged for gtk3
-#endif
+ emitDisplayChanged();
}
extern "C"