changeset in /hg/icedtea6: * patches/icedtea-display-mode-change...
Mark Wielaard
mark at klomp.org
Sat Nov 15 05:07:21 PST 2008
changeset 4548cfdc09fe in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4548cfdc09fe
description:
* patches/icedtea-display-mode-changer.patch: New patch.
* Makefile.am (ICEDTEA_PATCHES): Add new patch.
* HACKING: Document new patch.
diffstat:
4 files changed, 109 insertions(+), 1 deletion(-)
ChangeLog | 6 +
HACKING | 1
Makefile.am | 3
patches/icedtea-display-mode-changer.patch | 100 ++++++++++++++++++++++++++++
diffs (141 lines):
diff -r bc2e4f1176b2 -r 4548cfdc09fe ChangeLog
--- a/ChangeLog Fri Nov 14 10:10:11 2008 -0500
+++ b/ChangeLog Sat Nov 15 14:07:14 2008 +0100
@@ -1,3 +1,9 @@ 2008-11-14 Omair Majid <omajid at redhat.
+2008-11-15 Mark Wielaard <mark at klomp.org>
+
+ * patches/icedtea-display-mode-changer.patch: New patch.
+ * Makefile.am (ICEDTEA_PATCHES): Add new patch.
+ * HACKING: Document new patch.
+
2008-11-14 Omair Majid <omajid at redhat.com>
* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
diff -r bc2e4f1176b2 -r 4548cfdc09fe HACKING
--- a/HACKING Fri Nov 14 10:10:11 2008 -0500
+++ b/HACKING Sat Nov 15 14:07:14 2008 +0100
@@ -67,6 +67,7 @@ The following patches are currently appl
* icedtea-cc-interp-no-fer.patch: Report that we cannot force early returns with the C++ interpreter.
* icedtea-6761856-freetypescaler.patch: Fix IcedTea bug #227, OpenJDK bug
#6761856, swing TextLayout.getBounds() returns shifted bounds.
+* icedtea-display-mode-changer.patch: Add extra test class.
The following patches are only applied to OpenJDK6 in IcedTea6:
diff -r bc2e4f1176b2 -r 4548cfdc09fe Makefile.am
--- a/Makefile.am Fri Nov 14 10:10:11 2008 -0500
+++ b/Makefile.am Sat Nov 15 14:07:14 2008 +0100
@@ -537,7 +537,8 @@ ICEDTEA_PATCHES = \
patches/icedtea-linker-libs-order.patch \
patches/icedtea-f2i-overflow.patch \
patches/icedtea-cc-interp-no-fer.patch \
- patches/icedtea-6761856-freetypescaler.patch
+ patches/icedtea-6761856-freetypescaler.patch \
+ patches/icedtea-display-mode-changer.patch
if WITH_RHINO
ICEDTEA_PATCHES += \
diff -r bc2e4f1176b2 -r 4548cfdc09fe patches/icedtea-display-mode-changer.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-display-mode-changer.patch Sat Nov 15 14:07:14 2008 +0100
@@ -0,0 +1,100 @@
+6733718: test /java/awt/FullScreen/UninitializedDisplayModeChangeTest/ fails
+Reviewed-by: igor
+
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ openjdk/jdk/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChanger.java Tue Aug 05 09:37:03 2008 -0700
+@@ -0,0 +1,93 @@
++/*
++ * Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code 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 General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++ * CA 95054 USA or visit www.sun.com if you need additional information or
++ * have any questions.
++ */
++
++import java.awt.DisplayMode;
++import java.awt.EventQueue;
++import java.awt.Frame;
++import java.awt.GraphicsDevice;
++import java.awt.GraphicsEnvironment;
++import java.lang.reflect.InvocationTargetException;
++
++/**
++ * Used by the UninitializedDisplayModeChangeTest to change the
++ * display mode.
++ */
++public class DisplayModeChanger {
++
++ public static void main(String[] args)
++ throws InterruptedException, InvocationTargetException
++ {
++ final GraphicsDevice gd =
++ GraphicsEnvironment.getLocalGraphicsEnvironment().
++ getDefaultScreenDevice();
++
++ EventQueue.invokeAndWait(new Runnable() {
++ public void run() {
++ Frame f = null;
++ if (gd.isFullScreenSupported()) {
++ try {
++ f = new Frame("DisplayChanger Frame");
++ gd.setFullScreenWindow(f);
++ if (gd.isDisplayChangeSupported()) {
++ DisplayMode dm = findDisplayMode(gd);
++ if (gd != null) {
++ gd.setDisplayMode(dm);
++ }
++ }
++ try {
++ Thread.sleep(1000);
++ } catch (InterruptedException ex) {
++ ex.printStackTrace();
++ }
++ gd.setFullScreenWindow(null);
++ } finally {
++ if (f != null) {
++ f.dispose();
++ }
++ }
++ }
++ }
++ });
++ }
++
++ /**
++ * Finds a display mode that is different from the current display
++ * mode and is likely to cause a display change event.
++ */
++ private static DisplayMode findDisplayMode(GraphicsDevice gd) {
++ DisplayMode dms[] = gd.getDisplayModes();
++ DisplayMode currentDM = gd.getDisplayMode();
++ for (DisplayMode dm : dms) {
++ if (!dm.equals(currentDM) &&
++ dm.getRefreshRate() == currentDM.getRefreshRate())
++ {
++ // different from the current dm and refresh rate is the same
++ // means that something else is different => more likely to
++ // cause a DM change event
++ return dm;
++ }
++ }
++ return null;
++ }
++
++}
+
More information about the distro-pkg-dev
mailing list