rpms/openoffice.org/F-11 openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch, NONE, 1.1 openoffice.org.spec, 1.1883, 1.1884

Caolan McNamara caolanm at fedoraproject.org
Sat Apr 18 14:52:20 UTC 2009


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10194/F-11

Modified Files:
	openoffice.org.spec 
Added Files:
	openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch 
Log Message:
Resolves: rhbz#496280 ooo#101184 dynamically detect multiple monitors

openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch:

--- NEW FILE openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch ---
diff -ru vcl.orig/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkdata.cxx
--- vcl.orig/unx/gtk/app/gtkdata.cxx	2009-04-18 14:24:28.000000000 +0100
+++ vcl/unx/gtk/app/gtkdata.cxx	2009-04-18 15:37:36.000000000 +0100
@@ -126,6 +126,12 @@
     pDisp->screenSizeChanged( pScreen );
 }
 
+void signalMonitorsChanged( GdkScreen* pScreen, gpointer data )
+{
+    GtkSalDisplay* pDisp = (GtkSalDisplay*)data;
+    pDisp->monitorsChanged( pScreen );
+}
+
 }
 
 GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event,
@@ -201,6 +207,31 @@
     }
 }
 
+void GtkSalDisplay::monitorsChanged( GdkScreen* pScreen )
+{
+    if( pScreen )
+    {
+        int nScreen = gdk_screen_get_number( pScreen );
+        if( nScreen == m_nDefaultScreen ) //To-Do, make m_aXineramaScreens a per-screen thing ?
+        {
+            gint nMonitors = gdk_screen_get_n_monitors(pScreen);
+            m_aXineramaScreens = std::vector<Rectangle>();
+            for (gint i = 0; i < nMonitors; ++i)
+            {
+                GdkRectangle dest;
+                gdk_screen_get_monitor_geometry(pScreen, i, &dest);
+                m_aXineramaScreens.push_back( Rectangle( Point(dest.x,
+                    dest.y ), Size( dest.width, dest.height ) ) );
+            }
+            m_bXinerama = m_aXineramaScreens.size() > 1;
+        }
+        else
+        {
+            DBG_ERROR( "monitors for non-default screen changed, extend-me" );
+        }
+    }
+}
+
 void GtkSalDisplay::initScreen( int nScreen ) const
 {
     if( nScreen < 0 || nScreen >= static_cast<int>(m_aScreens.size()) )
@@ -626,7 +657,10 @@
     {
         GdkScreen *pScreen = gdk_display_get_screen( pGdkDisp, n );
         if( pScreen )
+        {
             g_signal_connect( G_OBJECT(pScreen), "size-changed", G_CALLBACK(signalScreenSizeChanged), m_pGtkSalDisplay );
+            g_signal_connect( G_OBJECT(pScreen), "monitors-changed", G_CALLBACK(signalMonitorsChanged), m_pGtkSalDisplay );
+        }
     }
 }
 
diff -ru vcl.orig/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx
--- vcl.orig/unx/inc/plugins/gtk/gtkdata.hxx	2009-04-18 14:24:28.000000000 +0100
+++ vcl/unx/inc/plugins/gtk/gtkdata.hxx	2009-04-18 14:32:42.000000000 +0100
@@ -85,6 +85,7 @@
     void startupNotificationCompleted() { m_bStartupCompleted = true; }
     
     void screenSizeChanged( GdkScreen* );
+    void monitorsChanged( GdkScreen* );
 };
 
 


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-11/openoffice.org.spec,v
retrieving revision 1.1883
retrieving revision 1.1884
diff -u -r1.1883 -r1.1884
--- openoffice.org.spec	17 Apr 2009 15:06:39 -0000	1.1883
+++ openoffice.org.spec	18 Apr 2009 14:51:49 -0000	1.1884
@@ -1,6 +1,6 @@
 %define oootag OOO310
 %define ooomilestone 10
-%define rh_rpm_release 1
+%define rh_rpm_release 2
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -137,6 +137,7 @@
 Patch62: openoffice.org-3.1.0.ooo101105.sw.reorder.boundscheck.patch
 Patch63: openoffice.org-3.1.0.ooo101145.vcl.safe.dpi.patch
 Patch64: openoffice.org-3.1.0.ooo101152.solenv.kn.patch
+Patch65: openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch
 
 %define python_py_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
 %define instdir %{_libdir}
@@ -1632,6 +1633,7 @@
 %patch62 -p0 -b .ooo101105.sw.reorder.boundscheck.patch
 %patch63 -p1 -b .ooo101145.vcl.safe.dpi.patch
 %patch64 -p1 -b .ooo101152.solenv.kn.patch
+%patch65 -p0 -b .ooo101184.vcl.dynamic.monitors.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -4125,6 +4127,9 @@
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
+* Sat Apr 18 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.2
+- Resolves: rhbz#496280 ooo#101184 dynamically detect multiple monitors
+
 * Fri Apr 17 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.1
 - closing in on final
 




More information about the fedora-extras-commits mailing list