ooo-build r12651 - in branches/ooo-build-2-4-1: . patches/mono patches/ooxml patches/src680



Author: pmladek
Date: Fri May 23 19:39:06 2008
New Revision: 12651
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12651&view=rev

Log:
2008-05-23  Petr Mladek  <pmladek suse cz>

	* patches/src680/vcl-dynamic-screens-fix.diff:
	* patches/src680/vcl-dynamic-screens-fix-m14.diff:
	* patches/src680/cws-unifysound01-vcl.diff:
	* patches/src680/cws-unifysound01-vcl-m14.diff:
	* patches/ooxml/cws-xmlfilter02-sc.diff:
	* patches/ooxml/cws-xmlfilter02-sc-m14.diff:
	* patches/mono/cli_ure-prj-build-lst.diff:
	* patches/mono/cli_ure-prj-build-lst-m14.diff:
	* patches/mono/cli_ure-mono-bridge-m14.diff:
	* patches/mono/cli_ure-mono-bridge.diff:
	* patches/mono/cli_ure-mono-bridge-m14.diff:
	* patches/mono/mono-build.diff:
	* patches/mono/mono-build-m14.diff:
	* patches/src680/apply: support for ooh680-m15

	* sc-openformula-minmax.diff:
	* sc-fix-value-iterator.diff:
	* fpicker-kde-gcc4-visibility.diff:
	* patches/src680/apply: already in ooh680-m15



Added:
   branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge.diff
   branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst.diff
   branches/ooo-build-2-4-1/patches/mono/mono-build-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/mono/mono-build.diff
   branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc.diff
   branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl.diff
   branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix-m14.diff   (props changed)
      - copied unchanged from r12646, /branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix.diff
Modified:
   branches/ooo-build-2-4-1/ChangeLog
   branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge.diff
   branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst.diff
   branches/ooo-build-2-4-1/patches/mono/mono-build.diff
   branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc.diff
   branches/ooo-build-2-4-1/patches/src680/apply
   branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl.diff
   branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix.diff

Modified: branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge.diff	(original)
+++ branches/ooo-build-2-4-1/patches/mono/cli_ure-mono-bridge.diff	Fri May 23 19:39:06 2008
@@ -4,7 +4,7 @@
 @@ -8,5 +8,6 @@
  ure	cli_ure\unotypes			nmake	-	w,vc7	ure_unotypes ure_source_version ure_source_source.w ure_source_climaker.w ure_inc NULL
  ure	cli_ure\source\ure			nmake	-	w,vc7	ure_source_ure ure_source_version ure_source_source.w ure_unotypes.w ure_inc NULL
- ure	cli_ure\source\uno_bridge	nmake	-	w,vc7	ure_source_uno_bridge ure_unotypes.w ure_source_ure.w ure_inc NULL
+ ure	cli_ure\source\uno_bridge	nmake	-	w,vc7	ure_source_uno_bridge ure_source_basetypes.w ure_unotypes.w ure_inc NULL
 +ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
  ure	cli_ure\source\native		nmake	-	w,vc7	ure_source_native ure_source_version ure_source_source.w ure_source_ure.w ure_unotypes.w ure_source_uno_bridge.w ure_inc NULL
  #ure	cli_ure\util			nmake	-	w,vc7	ure_util ure_source_ure.w ure_source_native.w NULL

Modified: branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst.diff	(original)
+++ branches/ooo-build-2-4-1/patches/mono/cli_ure-prj-build-lst.diff	Fri May 23 19:39:06 2008
@@ -3,14 +3,14 @@
 +++ cli_ure/prj/build.lst	2007-07-31 18:12:37.000000000 +0200
 @@ -4,10 +4,10 @@
  ure	cli_ure\version				nmake   -   all   ure_source_version ure_inc NULL
- ure    cli_ure\source                          nmake   -   all   ure_source_source ure_inc NULL
- ure    cli_ure\source\basetypes        nmake   -       all     ure_source_basetypes ure_source_version ure_source_source ure_inc NULL
--ure    cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_source ure_source_basetypes ure_inc NULL
-+ure    cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_climaker ure_source_source ure_source_basetypes ure_inc ure_unotypes NULL
- ure    cli_ure\source\climaker         nmake   -       all     ure_source_climaker ure_source_basetypes ure_inc NULL
- ure    cli_ure\unotypes                        nmake   -       all     ure_unotypes ure_source_version ure_source_source ure_source_climaker ure_source_basetypes ure_inc NULL
--ure    cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_version ure_source_source ure_unotypes ure_inc NULL
-+ure    cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_bootstrap.u ure_source_version ure_source_source ure_unotypes ure_inc NULL
- ure    cli_ure\source\uno_bridge       nmake   -       w,vc7   ure_source_uno_bridge ure_unotypes ure_source_ure ure_inc NULL
+ ure	cli_ure\source                          nmake   -   all   ure_source_source ure_inc NULL
+ ure	cli_ure\source\basetypes        nmake   -       all     ure_source_basetypes ure_source_version ure_source_source ure_inc NULL
+-ure	cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_source ure_source_basetypes ure_inc NULL
++ure	cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_climaker ure_source_source ure_source_basetypes ure_inc ure_unotypes NULL
+ ure	cli_ure\source\climaker         nmake   -       all     ure_source_climaker ure_source_basetypes ure_inc NULL
+ ure	cli_ure\unotypes                        nmake   -       all     ure_unotypes ure_source_version ure_source_source ure_source_climaker ure_source_basetypes ure_inc NULL
+-ure	cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_version ure_source_source ure_unotypes ure_inc NULL
++ure	cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_bootstrap.u ure_source_version ure_source_source ure_unotypes ure_inc NULL
+ ure	cli_ure\source\uno_bridge	nmake	-	w,vc7	ure_source_uno_bridge ure_source_basetypes ure_unotypes ure_inc NULL
  ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
- ure    cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source ure_source_ure ure_unotypes ure_source_uno_bridge ure_inc NULL
+ ure	cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source ure_source_ure ure_unotypes ure_source_uno_bridge ure_inc NULL

Modified: branches/ooo-build-2-4-1/patches/mono/mono-build.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/mono/mono-build.diff	(original)
+++ branches/ooo-build-2-4-1/patches/mono/mono-build.diff	Fri May 23 19:39:06 2008
@@ -131,29 +131,29 @@
 ===================================================================
 --- cli_ure/prj/build.lst       9 May 2007 13:29:37 -0000       1.11
 +++ cli_ure/prj/build.lst       4 Jul 2007 16:37:10 -0000
-@@ -2,12 +2,13 @@
- ure    cli_ure                                         usr1    -       all     ure_mkout NULL
- ure    cli_ure\inc                                     nmake   -   all   ure_inc NULL
- ure    cli_ure\version                         nmake   -   all   ure_source_version ure_inc NULL
--ure    cli_ure\source                          nmake   -   w,vc7   ure_source_source ure_inc NULL
--ure    cli_ure\source\basetypes        nmake   -       w,vc7   ure_source_basetypes ure_source_version ure_source_source.w ure_inc NULL
--ure    cli_ure\source\climaker         nmake   -       w,vc7   ure_source_climaker ure_source_basetypes.w ure_inc NULL
--ure    cli_ure\unotypes                        nmake   -       w,vc7   ure_unotypes ure_source_version ure_source_source.w ure_source_climaker.w ure_inc NULL
--ure    cli_ure\source\ure                      nmake   -       w,vc7   ure_source_ure ure_source_version ure_source_source.w ure_unotypes.w ure_inc NULL
--ure    cli_ure\source\uno_bridge       nmake   -       w,vc7   ure_source_uno_bridge ure_unotypes.w ure_source_ure.w ure_inc NULL
+@@ -2,12 +2,13 @@ ure	cli_ure	:	cppuhelper cppu sal codema
+ ure	cli_ure						usr1	-	all	ure_mkout NULL
+ ure	cli_ure\inc					nmake   -   all   ure_inc NULL
+ ure	cli_ure\version				nmake   -   all   ure_source_version ure_inc NULL
+-ure	cli_ure\source				nmake   -   w,vc7   ure_source_source ure_inc NULL
+-ure	cli_ure\source\basetypes	nmake	-	w,vc7	ure_source_basetypes ure_source_version ure_source_source.w ure_inc NULL
+-ure	cli_ure\source\climaker		nmake	-	w,vc7	ure_source_climaker ure_source_basetypes.w ure_inc NULL
+-ure	cli_ure\unotypes			nmake	-	w,vc7	ure_unotypes ure_source_version ure_source_source.w ure_source_climaker.w ure_inc NULL
+-ure	cli_ure\source\ure			nmake	-	w,vc7	ure_source_ure ure_source_version ure_source_source.w ure_unotypes.w ure_inc NULL
+-ure	cli_ure\source\uno_bridge	nmake	-	w,vc7	ure_source_uno_bridge ure_source_basetypes.w ure_unotypes.w ure_inc NULL
 -ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
--ure    cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source.w ure_source_ure.w ure_unotypes.w ure_source_uno_bridge.w ure_inc NULL
--#ure   cli_ure\util                    nmake   -       w,vc7   ure_util ure_source_ure.w ure_source_native.w NULL
-+ure    cli_ure\source                          nmake   -   all   ure_source_source ure_inc NULL
-+ure    cli_ure\source\basetypes        nmake   -       all     ure_source_basetypes ure_source_version ure_source_source ure_inc NULL
-+ure    cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_source ure_source_basetypes ure_inc NULL
-+ure    cli_ure\source\climaker         nmake   -       all     ure_source_climaker ure_source_basetypes ure_inc NULL
-+ure    cli_ure\unotypes                        nmake   -       all     ure_unotypes ure_source_version ure_source_source ure_source_climaker ure_source_basetypes ure_inc NULL
-+ure    cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_version ure_source_source ure_unotypes ure_inc NULL
-+ure    cli_ure\source\uno_bridge       nmake   -       w,vc7   ure_source_uno_bridge ure_unotypes ure_source_ure ure_inc NULL
+-ure	cli_ure\source\native		nmake	-	w,vc7	ure_source_native ure_source_version ure_source_source.w ure_source_ure.w ure_unotypes.w ure_source_uno_bridge.w ure_inc NULL
+-#ure	cli_ure\util			nmake	-	w,vc7	ure_util ure_source_ure.w ure_source_native.w NULL
++ure	cli_ure\source                          nmake   -   all   ure_source_source ure_inc NULL
++ure	cli_ure\source\basetypes        nmake   -       all     ure_source_basetypes ure_source_version ure_source_source ure_inc NULL
++ure	cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_source ure_source_basetypes ure_inc NULL
++ure	cli_ure\source\climaker         nmake   -       all     ure_source_climaker ure_source_basetypes ure_inc NULL
++ure	cli_ure\unotypes                        nmake   -       all     ure_unotypes ure_source_version ure_source_source ure_source_climaker ure_source_basetypes ure_inc NULL
++ure	cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_version ure_source_source ure_unotypes ure_inc NULL
++ure	cli_ure\source\uno_bridge	nmake	-	w,vc7	ure_source_uno_bridge ure_source_basetypes ure_unotypes ure_inc NULL
 +ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
-+ure    cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source ure_source_ure ure_unotypes ure_source_uno_bridge ure_inc NULL
-+#ure   cli_ure\util                    nmake   -       w,vc7   ure_util ure_source_ure ure_source_native NULL
++ure	cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source ure_source_ure ure_unotypes ure_source_uno_bridge ure_inc NULL
++#ure	cli_ure\util                    nmake   -       w,vc7   ure_util ure_source_ure ure_source_native NULL
 Index: cli_ure/prj/d.lst
 ===================================================================
 --- cli_ure/prj/d.lst.orig	2006-01-08 20:48:38.000000000 +0100

Modified: branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc.diff	(original)
+++ branches/ooo-build-2-4-1/patches/ooxml/cws-xmlfilter02-sc.diff	Fri May 23 19:39:06 2008
@@ -6186,15 +6186,15 @@
  	}
 +
  	if (eHSplitMode == SC_SPLIT_FIX)
--		nFixPosX = static_cast<SCCOL>(nTempPosH);
-+        nFixPosX = static_cast< SCCOL >( bHasHSplitInTwips ? nTempPosHTw : nTempPosH );
+-		nFixPosX = SanitizeCol( static_cast<SCCOL>(nTempPosH));
++        nFixPosX = SanitizeCol( static_cast< SCCOL >( bHasHSplitInTwips ? nTempPosHTw : nTempPosH ));
  	else
 -		nHSplitPos = nTempPosH;
 +        nHSplitPos = bHasHSplitInTwips ? static_cast< long >( nTempPosHTw * rViewData.GetPPTX() ) : nTempPosH;
 +
  	if (eVSplitMode == SC_SPLIT_FIX)
--		nFixPosY = static_cast<SCROW>(nTempPosV);
-+        nFixPosY = static_cast< SCROW >( bHasVSplitInTwips ? nTempPosVTw : nTempPosV );
+-		nFixPosY = SanitizeRow( static_cast<SCROW>(nTempPosV));
++        nFixPosY = SanitizeRow( static_cast< SCROW >( bHasVSplitInTwips ? nTempPosVTw : nTempPosV ));
  	else
 -		nVSplitPos = nTempPosV;
 +        nVSplitPos = bHasVSplitInTwips ? static_cast< long >( nTempPosVTw * rViewData.GetPPTY() ) : nTempPosV;

Modified: branches/ooo-build-2-4-1/patches/src680/apply
==============================================================================
--- branches/ooo-build-2-4-1/patches/src680/apply	(original)
+++ branches/ooo-build-2-4-1/patches/src680/apply	Fri May 23 19:39:06 2008
@@ -286,8 +286,17 @@
 cws-unifysound01-solenv.diff
 cws-unifysound01-svx.diff
 cws-unifysound01-sw.diff
+
+[ CWSBackports > ooh680-m14 ]
+
 cws-unifysound01-vcl.diff
 
+[ CWSBackports <= ooh680-m14 ]
+
+cws-unifysound01-vcl-m14.diff
+
+[ CWSBackports ]
+
 #dialog refactor
 cws-npower9.diff
 #basic runtime fixes
@@ -762,14 +771,6 @@
 # to Excel's (ODFF).
 sc-openformula-sumif.diff, i#85000, kohei
 
-# Return 0 by MIN/MAX/MINA/MAXA when referenced cells are all empty (patch
-# contributed from Lv Yue) (ODFF).
-sc-openformula-minmax.diff, i#38759, kohei
-
-# don't initialize the value to 0 which screws up certain iterative functions
-# (such as MIN, MAX).
-sc-fix-value-iterator.diff, n#372255, kohei
-
 # Support print & page preview for files containing only lines
 sc-print-lines.diff, n#351468, i#85076, jonp
 
@@ -794,15 +795,24 @@
 # overwrite character level font attributes when changing them at cell level.
 sc-overwrite-char-font-attrs.diff, n#374580, kohei
 
-[ LinuxOnly ]
-# accelerate linking, by extreme cunning i#63927
-speed-local-link-except.diff, i#63927, michael
-speed-local-link.diff, i#63927, michael
+[ CalcFixes < ooh680-m14]
 
 # make some symbols from svtools visible for the kde fpicker when compiling with gcc4
 # fix: this breaks win32
 fpicker-kde-gcc4-visibility.diff, pmladek
 
+# don't initialize the value to 0 which screws up certain iterative functions
+# (such as MIN, MAX).
+sc-fix-value-iterator.diff, n#372255, kohei
+
+# Return 0 by MIN/MAX/MINA/MAXA when referenced cells are all empty (patch
+# contributed from Lv Yue) (ODFF).
+sc-openformula-minmax.diff, i#38759, kohei
+
+[ LinuxOnly ]
+# accelerate linking, by extreme cunning i#63927
+speed-local-link-except.diff, i#63927, michael
+speed-local-link.diff, i#63927, michael
 
 [ Misc ]
 # Insert symbol defaults to the Symbol font - not a random one
@@ -1404,8 +1414,13 @@
 #
 mono-scp2.diff
 
+[ Mono > ooh680-m14 ]
 cli_ure-mono-bridge.diff
 
+[ Mono <= ooh680-m14 ]
+cli_ure-mono-bridge-m14.diff
+
+[ Mono ]
 cli_ure-source-bootstrap-assembly-cs.diff
 cli_ure-source-bootstrap-makefile-mk.diff
 cli_ure-source-bootstrap-managed_bootstrap-cs.diff
@@ -1413,14 +1428,19 @@
 mono-testtools.diff
 
 # The build
+[ Mono > ooh680-m14 ]
 mono-build.diff
-build-mono-link.diff, jholesov
-
 cli_ure-prj-build-lst.diff
 
+[ Mono <= ooh680-m14 ]
+mono-build-m14.diff
+cli_ure-prj-build-lst-m14.diff
+
+[ Mono ]
+build-mono-link.diff, jholesov
+
 # sign the output assembly using the key pair; it is needed to install
 # the versioned assemblies into the system Global Assembly Cache  (GAC)
-
 mono-build-keyfile.diff
 
 # climaker rewritten in C#
@@ -1627,9 +1647,13 @@
 #scsolver-uno-extension.diff
 #scsolver-enable-extension.diff
 
+[ OOXML > ooh680-m14 ]
+cws-xmlfilter02-sc.diff
+
+[ OOXML <= ooh680-m14 ]
+cws-xmlfilter02-sc-m14.diff
 
 [ OOXML ]
-cws-xmlfilter02-sc.diff
 cws-xmlfilter02-config_office.diff
 cws-xmlfilter02-filter.diff
 cws-xmlfilter02-goodies.diff
@@ -2303,17 +2327,19 @@
 #only enable enhanced field work in Novell OOo by default
 officecfg-field-patch.diff, flr, n#248354 
 
+[ Fixes > ooh680-m14 ]
+# fixes dynamic screen config bugs (xinerama & multiscreen)
+vcl-dynamic-screens-fix.diff, n#359955, rodo+thorsten
+
+[ Fixes <= ooh680-m14 ]
+vcl-dynamic-screens-fix-m14.diff, n#359955, rodo+thorsten
 
 [ Fixes ]
 sc-xclimpchangetrack-discard-bogus-formula-size.diff, n#355304, tml
 
-# fixes dynamic screen config bugs (xinerama & multiscreen)
-vcl-dynamic-screens-fix.diff, n#359955, rodo+thorsten
-
 # fixes calculating subset of bitmap correctly
 vcl-limited-bmp-subset-fix.diff, i#88818, thorsten
 
-
 # Fix pasting with middle button in Calc
 sc-middle-button-should-paste-text.diff, n#282767, i#86734, jholesov
 

Modified: branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl.diff	(original)
+++ branches/ooo-build-2-4-1/patches/src680/cws-unifysound01-vcl.diff	Fri May 23 19:39:06 2008
@@ -2233,7 +2233,7 @@
 diff -u -p -u -p -r1.28 -r1.28.16.1
 --- vcl/unx/source/app/makefile.mk	31 Jul 2007 13:01:37 -0000	1.28
 +++ vcl/unx/source/app/makefile.mk	31 Aug 2007 09:44:58 -0000	1.28.16.1
-@@ -69,13 +69,7 @@ SLOFILES=\
+@@ -70,13 +70,7 @@ SLOFILES=\
  			$(SLO)$/soicon.obj			\
  			$(SLO)$/sm.obj				\
  			$(SLO)$/keysymnames.obj		\
@@ -2268,9 +2268,9 @@
 -.ENDIF
 -.ENDIF
 -
- .IF "$(USE_XINERAMA)" != "NO"
- CDEFS+=-DUSE_XINERAMA
- .IF "$(USE_XINERAMA_VERSION)" == "Xorg"
+ .IF "$(ENABLE_RANDR)" != ""
+ .IF "$(OS)" != "SOLARIS"
+ CDEFS+=-DUSE_RANDR
 Index: vcl/unx/source/app/nassound.cxx
 ===================================================================
 RCS file: vcl/unx/source/app/nassound.cxx

Modified: branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix.diff
==============================================================================
--- branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix.diff	(original)
+++ branches/ooo-build-2-4-1/patches/src680/vcl-dynamic-screens-fix.diff	Fri May 23 19:39:06 2008
@@ -114,304 +114,6 @@
  dnl ===================================================================
  if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then
 
---- vcl/unx/gtk/app/gtkdata.cxx	29 Jan 2008 16:20:56 -0000	1.36
-+++ vcl/unx/gtk/app/gtkdata.cxx	7 Mar 2008 16:59:00 -0000	1.36.16.1
-@@ -191,6 +191,7 @@ GdkFilterReturn GtkSalDisplay::filterGdk
-             }
-         }
-         X11SalObject::Dispatch( pEvent );
-+        pDisplay->processRandREvent( pEvent );
-     }
- 
-     return aFilterReturn;
---- vcl/unx/inc/saldisp.hxx	27 Feb 2008 10:32:35 -0000	1.44
-+++ vcl/unx/inc/saldisp.hxx	12 Mar 2008 09:39:09 -0000	1.43.16.2
-@@ -418,6 +418,9 @@ protected:	
-     void			DestroyFontCache();
-     virtual long	Dispatch( XEvent *pEvent ) = 0;
-     void			InitXinerama();
-+    void            InitRandR( XLIB_Window aRoot ) const;
-+    void            DeInitRandR();
-+    int             processRandREvent( XEvent* );
- 
-     void			doDestruct();
- public:
---- vcl/unx/source/app/makefile.mk	7 Mar 2008 17:12:23 -0000	1.30
-+++ vcl/unx/source/app/makefile.mk	1 Apr 2008 10:31:13 -0000	1.29.16.3
-@@ -64,6 +64,7 @@ SLOFILES=\
- 			$(SLO)$/saldata.obj			\
- 			$(SLO)$/saltimer.obj		\
- 			$(SLO)$/saldisp.obj			\
-+			$(SLO)$/randrwrapper.obj	\
- 			$(SLO)$/salinst.obj			\
- 			$(SLO)$/salsys.obj			\
- 			$(SLO)$/soicon.obj			\
-@@ -81,6 +82,12 @@ EXCEPTIONSFILES=\
-             $(SLO)$/salsys.obj
- 
- 
-+.IF "$(ENABLE_RANDR)" != ""
-+.IF "$(OS)" != "SOLARIS"
-+CDEFS+=-DUSE_RANDR
-+.ENDIF
-+.ENDIF
-+
- .IF "$(USE_XINERAMA)" != "NO"
- CDEFS+=-DUSE_XINERAMA
- .IF "$(USE_XINERAMA_VERSION)" == "Xorg"
---- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ vcl/unx/source/app/randrwrapper.cxx	15 Mar 2008 14:29:42 -0000	1.1.2.2
-@@ -0,0 +1,250 @@
-+/*************************************************************************
-+ *
-+ *  OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ *  $RCSfile$
-+ *
-+ *  $Revision$
-+ *
-+ *  last change: $Author$ $Date$
-+ *
-+ *  The Contents of this file are made available subject to
-+ *  the terms of GNU Lesser General Public License Version 2.1.
-+ *
-+ *
-+ *    GNU Lesser General Public License Version 2.1
-+ *    =============================================
-+ *    Copyright 2005 by Sun Microsystems, Inc.
-+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
-+ *
-+ *    This library is free software; you can redistribute it and/or
-+ *    modify it under the terms of the GNU Lesser General Public
-+ *    License version 2.1, as published by the Free Software Foundation.
-+ *
-+ *    This library is distributed in the hope that it will be useful,
-+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ *    Lesser General Public License for more details.
-+ *
-+ *    You should have received a copy of the GNU Lesser General Public
-+ *    License along with this library; if not, write to the Free Software
-+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ *    MA  02111-1307  USA
-+ *
-+ ************************************************************************/
-+
-+#ifdef USE_RANDR
-+
-+#include "prex.h"
-+#include <X11/extensions/Xrandr.h>
-+#include "postx.h"
-+
-+#include "osl/module.h"
-+#include "rtl/ustring.hxx"
-+
-+namespace
-+{
-+class RandRWrapper
-+{
-+    oslModule m_pRandRLib;
-+    
-+    // function pointers
-+    Bool(*m_pXRRQueryExtension)(Display*,int*,int*);
-+    Status(*m_pXRRQueryVersion)(Display*,int*,int*);
-+    XRRScreenConfiguration*(*m_pXRRGetScreenInfo)(Display*,Drawable);
-+    void(*m_pXRRFreeScreenConfigInfo)(XRRScreenConfiguration*);
-+    void(*m_pXRRSelectInput)(Display*,XLIB_Window,int);
-+    int(*m_pXRRUpdateConfiguration)(XEvent*);
-+    XRRScreenSize*(*m_pXRRSizes)(Display*,int,int*);
-+    XRRScreenSize*(*m_pXRRConfigSizes)(XRRScreenConfiguration*,int*);
-+    SizeID(*m_pXRRConfigCurrentConfiguration)(XRRScreenConfiguration*,Rotation*);
-+    
-+    bool m_bValid;
-+    
-+    void initFromModule();
-+    
-+    RandRWrapper(Display*);
-+    ~RandRWrapper();
-+public:
-+    static RandRWrapper& get(Display*);
-+    static void releaseWrapper();
-+    
-+    Bool XRRQueryExtension(Display* i_pDisp, int* o_event_base, int* o_error_base )
-+    {
-+        Bool bRet = False;
-+        if( m_bValid )
-+            bRet = m_pXRRQueryExtension( i_pDisp, o_event_base, o_error_base );
-+        return bRet;
-+    }
-+    Status XRRQueryVersion( Display* i_pDisp, int* o_major, int* o_minor )
-+    {
-+        return m_bValid ? m_pXRRQueryVersion( i_pDisp, o_major, o_minor ) : 0;
-+    }
-+    XRRScreenConfiguration* XRRGetScreenInfo( Display* i_pDisp, Drawable i_aDrawable )
-+    {
-+        return m_bValid ? m_pXRRGetScreenInfo( i_pDisp, i_aDrawable ) : NULL;
-+    }
-+    void XRRFreeScreenConfigInfo( XRRScreenConfiguration* i_pConfig )
-+    {
-+        if( m_bValid )
-+            m_pXRRFreeScreenConfigInfo( i_pConfig );
-+    }
-+    void XRRSelectInput( Display* i_pDisp, XLIB_Window i_window, int i_nMask )
-+    {
-+        if( m_bValid )
-+            m_pXRRSelectInput( i_pDisp, i_window, i_nMask );
-+    }
-+    int XRRUpdateConfiguration( XEvent* i_pEvent )
-+    {
-+        return m_bValid ? m_pXRRUpdateConfiguration( i_pEvent ) : 0;
-+    }
-+    XRRScreenSize* XRRSizes( Display* i_pDisp, int i_screen, int* o_nscreens )
-+    {
-+        return m_bValid ? m_pXRRSizes( i_pDisp, i_screen, o_nscreens ) : NULL;
-+    }
-+    XRRScreenSize* XRRConfigSizes( XRRScreenConfiguration* i_pConfig, int* o_nSizes )
-+    {
-+        return m_bValid ? m_pXRRConfigSizes( i_pConfig, o_nSizes ) : NULL;
-+    }
-+    SizeID XRRConfigCurrentConfiguration( XRRScreenConfiguration* i_pConfig, Rotation* o_pRot )
-+    {
-+        return m_bValid ? m_pXRRConfigCurrentConfiguration( i_pConfig, o_pRot ) : 0;
-+    }
-+};
-+}
-+
-+void RandRWrapper::initFromModule()
-+{
-+    m_pXRRQueryExtension = (Bool(*)(Display*,int*,int*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRQueryExtension" );
-+    m_pXRRQueryVersion = (Status(*)(Display*,int*,int*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRQueryVersion" );
-+    m_pXRRGetScreenInfo = (XRRScreenConfiguration*(*)(Display*,Drawable))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRGetScreenInfo" );
-+    m_pXRRFreeScreenConfigInfo = (void(*)(XRRScreenConfiguration*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRFreeScreenConfigInfo" );
-+    m_pXRRSelectInput = (void(*)(Display*,XLIB_Window,int))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRSelectInput" );
-+    m_pXRRUpdateConfiguration = (int(*)(XEvent*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRUpdateConfiguration" );
-+    m_pXRRSizes = (XRRScreenSize*(*)(Display*,int,int*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRSizes" );
-+    m_pXRRConfigSizes = (XRRScreenSize*(*)(XRRScreenConfiguration*,int*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRConfigSizes" );
-+    m_pXRRConfigCurrentConfiguration = (SizeID(*)(XRRScreenConfiguration*,Rotation*))osl_getAsciiFunctionSymbol( m_pRandRLib, "XRRConfigCurrentConfiguration" );
-+    
-+    m_bValid = m_pXRRQueryExtension             &&
-+               m_pXRRQueryVersion               &&
-+               m_pXRRGetScreenInfo              &&
-+               m_pXRRFreeScreenConfigInfo       &&
-+               m_pXRRSelectInput                &&
-+               m_pXRRUpdateConfiguration        &&
-+               m_pXRRSizes                      &&
-+               m_pXRRConfigSizes                &&
-+               m_pXRRConfigCurrentConfiguration
-+               ;
-+}
-+
-+RandRWrapper::RandRWrapper( Display* pDisplay ) :
-+        m_pRandRLib( NULL ),
-+        m_pXRRQueryExtension( NULL ),
-+        m_pXRRQueryVersion( NULL ),
-+        m_pXRRGetScreenInfo( NULL ),
-+        m_pXRRFreeScreenConfigInfo( NULL ),
-+        m_pXRRSelectInput( NULL ),
-+        m_pXRRUpdateConfiguration( NULL ),
-+        m_pXRRSizes( NULL ),
-+        m_pXRRConfigSizes( NULL ),
-+        m_pXRRConfigCurrentConfiguration( NULL ),
-+        m_bValid( false )
-+{
-+    // first try in process space (e.g. gtk links that ?)
-+    initFromModule();
-+    if( ! m_bValid )
-+    {
-+        rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( "libXrandr.so.2" ) );
-+        m_pRandRLib = osl_loadModule( aLibName.pData, SAL_LOADMODULE_DEFAULT );
-+        initFromModule();
-+    }
-+    if( m_bValid )
-+    {
-+        int nEventBase = 0, nErrorBase = 0;
-+        if( ! m_pXRRQueryExtension( pDisplay, &nEventBase, &nErrorBase ) )
-+            m_bValid = false;
-+    }
-+}
-+
-+RandRWrapper::~RandRWrapper()
-+{
-+    if( m_pRandRLib )
-+        osl_unloadModule( m_pRandRLib );
-+}
-+
-+static RandRWrapper* pWrapper = NULL;
-+
-+RandRWrapper& RandRWrapper::get( Display* i_pDisplay )
-+{
-+    if( ! pWrapper )
-+        pWrapper = new RandRWrapper( i_pDisplay );
-+    return *pWrapper;
-+}
-+
-+void RandRWrapper::releaseWrapper()
-+{
-+    delete pWrapper;
-+    pWrapper = NULL;
-+}
-+
-+#endif
-+
-+#include "saldisp.hxx"
-+
-+void SalDisplay::InitRandR( XLIB_Window aRoot ) const
-+{
-+    #ifdef USE_RANDR
-+    RandRWrapper::get( GetDisplay() ).XRRSelectInput( GetDisplay(), aRoot, RRScreenChangeNotifyMask );
-+    #else
-+    (void)aRoot;
-+    #endif
-+}
-+
-+void SalDisplay::DeInitRandR()
-+{
-+    #ifdef USE_RANDR
-+    RandRWrapper::releaseWrapper();
-+    #endif
-+}
-+
-+int SalDisplay::processRandREvent( XEvent* pEvent )
-+{
-+    int nRet = 0;
-+    #ifdef USE_RANDR
-+    if( pWrapper )
-+    {
-+        nRet = pWrapper->XRRUpdateConfiguration( pEvent );
-+        if( nRet == 1 && pEvent->type != ConfigureNotify) // this should then be a XRRScreenChangeNotifyEvent
-+        {
-+            // update screens
-+            for( size_t i = 0; i < m_aScreens.size(); i++ )
-+            {
-+                if( m_aScreens[i].m_bInit )
-+                {
-+                    XRRScreenConfiguration *pConfig = NULL;
-+                    XRRScreenSize *pSizes = NULL;
-+                    int nSizes = 0;
-+                    Rotation nRot = 0;
-+                    SizeID nId = 0;
-+                
-+                    pConfig = pWrapper->XRRGetScreenInfo( GetDisplay(), m_aScreens[i].m_aRoot );
-+                    nId = pWrapper->XRRConfigCurrentConfiguration( pConfig, &nRot );
-+                    pSizes = pWrapper->XRRConfigSizes( pConfig, &nSizes );
-+                    XRRScreenSize *pTargetSize = pSizes + nId;
-+                
-+                    m_aScreens[i].m_aSize = Size( pTargetSize->width, pTargetSize->height );
-+    
-+                    pWrapper->XRRFreeScreenConfigInfo( pConfig );
-+
-+                    #if OSL_DEBUG_LEVEL > 1
-+                    fprintf( stderr, "screen %d changed to size %dx%d\n", i, pTargetSize->width, pTargetSize->height );
-+                    #endif
-+                }
-+            }
-+        }
-+    }
-+    #else
-+    (void)pEvent;
-+    #endif
-+    return nRet;
-+}
 --- vcl/unx/source/app/saldisp.cxx	29 Jan 2008 16:22:34 -0000	1.93
 +++ vcl/unx/source/app/saldisp.cxx	31 Mar 2008 16:44:44 -0000	1.93.16.2
 @@ -70,7 +70,7 @@
@@ -423,41 +125,6 @@
  #include <X11/extensions/Xinerama.h>
  #endif
  #elif defined USE_XINERAMA_XSUN
-@@ -715,6 +715,9 @@ SalX11Display::~SalX11Display()
- 		XCloseDisplay( pDisp_ );
- 		pDisp_ = NULL;
- 	}
-+    // don't do this in doDestruct since RandR extension adds hooks into Display
-+    // that is XCloseDisplay still needs the RandR library if it was used
-+    DeInitRandR();
- }
- 
- void SalDisplay::initScreen( int nScreen ) const
-@@ -743,6 +746,9 @@ void SalDisplay::initScreen( int nScreen
-     rSD.m_aRoot = RootWindow( pDisp_, nScreen );
-     rSD.m_aVisual = SalVisual( &aVI );
-     rSD.m_aColormap = SalColormap( this, aColMap, nScreen );
-+    
-+    // we're interested in configure notification of root windows
-+    InitRandR( rSD.m_aRoot );
- 
-     // - - - - - - - - - - Reference Window/Default Drawable - -
-     XSetWindowAttributes aXWAttributes;
-@@ -2416,10 +2422,13 @@ long SalX11Display::Dispatch( XEvent *pE
- 			return pFrame->Dispatch( pEvent );
- 		}
-     }
--
-+    
- 	// dispatch to salobjects
- 	X11SalObject::Dispatch( pEvent );
- 
-+    // is this perhaps a root window that changed size ?
-+    processRandREvent( pEvent );
-+
-     return 0;
- }
- 
 @@ -2688,7 +2833,7 @@ void SalDisplay::InitXinerama()
          }
      }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]