Kaydet (Commit) 16b9b1aa authored tarafından Michael Meeks's avatar Michael Meeks

gtk3: fix display changed signal emissions

üst 81d1ba27
...@@ -73,6 +73,12 @@ void SalGenericDisplay::deregisterFrame( SalFrame* pFrame ) ...@@ -73,6 +73,12 @@ void SalGenericDisplay::deregisterFrame( SalFrame* pFrame )
m_aFrames.remove( pFrame ); m_aFrames.remove( pFrame );
} }
void SalGenericDisplay::emitDisplayChanged()
{
if( !m_aFrames.empty() )
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
}
bool SalGenericDisplay::DispatchInternalEvent() bool SalGenericDisplay::DispatchInternalEvent()
{ {
void* pData = NULL; void* pData = NULL;
...@@ -152,4 +158,6 @@ bool SalGenericDisplay::HasUserEvents() const ...@@ -152,4 +158,6 @@ bool SalGenericDisplay::HasUserEvents() const
return bRet; return bRet;
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -68,6 +68,7 @@ public: ...@@ -68,6 +68,7 @@ public:
virtual void registerFrame( SalFrame* pFrame ); virtual void registerFrame( SalFrame* pFrame );
virtual void deregisterFrame( SalFrame* pFrame ); virtual void deregisterFrame( SalFrame* pFrame );
void emitDisplayChanged();
// Event handling // Event handling
virtual void PostUserEvent() = 0; virtual void PostUserEvent() = 0;
......
...@@ -350,8 +350,8 @@ int SalDisplay::processRandREvent( XEvent* pEvent ) ...@@ -350,8 +350,8 @@ int SalDisplay::processRandREvent( XEvent* pEvent )
#endif #endif
} }
} }
if( bNotify && ! m_aFrames.empty() ) if( bNotify )
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 ); emitDisplayChanged();
} }
} }
#else #else
......
...@@ -204,24 +204,14 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event, ...@@ -204,24 +204,14 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event,
void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen ) void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen )
{ {
#if !GTK_CHECK_VERSION(3,0,0)
if (pScreen) if (pScreen)
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 ); emitDisplayChanged();
#else
(void)pScreen;
#warning FIXME: implement screenSizeChanged ...
#endif
} }
void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen ) void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
{ {
#if !GTK_CHECK_VERSION(3,0,0)
if (pScreen) if (pScreen)
m_aFrames.front()->CallCallback( SALEVENT_DISPLAYCHANGED, 0 ); emitDisplayChanged();
#else
(void)pScreen;
#warning FIXME: implement monitorsChanged for gtk3
#endif
} }
extern "C" extern "C"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment