changeset 9831:d4e56834eb72

Merge
author asaha
date Tue, 06 May 2014 11:01:25 -0700
parents ac7b95c88ba0 f6f47de80f35
children bc4fd122ee4f
files .hgtags
diffstat 6 files changed, 26 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Sat Apr 19 12:23:02 2014 +0800
+++ b/.hgtags	Tue May 06 11:01:25 2014 -0700
@@ -272,4 +272,7 @@
 cb1b9eca5890807476935051b8a5f13f4d3e5c63 jdk8u11-b02
 5efce41be1c8637b399980ea227f19e0f98341bc jdk8u11-b03
 4af24a3f52aeb07b51d3860049b0d1504e400feb jdk8u11-b04
+726370d73baebc513d0d83df71bb7629703ef7d0 jdk8u11-b05
+dc8eb8ba138a53df4cc80f6379ed25ef20644667 jdk8u11-b06
+69ea8bc3ce29eda152d9c2ebea91a9ce233bde9e jdk8u11-b07
 abca9f6f1a10e9f91b2538bbe7870f54f550d986 jdk8u25-b00
--- a/src/share/classes/sun/awt/FontConfiguration.java	Sat Apr 19 12:23:02 2014 +0800
+++ b/src/share/classes/sun/awt/FontConfiguration.java	Tue May 06 11:01:25 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2014, Oracle and/or its affiliates. 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
@@ -867,7 +867,7 @@
         return descriptors;
     }
 
-    private FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
+    protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
         String fontName = fontNames[fontIndex];
         String styleName = styleNames[styleIndex];
 
--- a/src/solaris/classes/sun/font/FcFontConfiguration.java	Sat Apr 19 12:23:02 2014 +0800
+++ b/src/solaris/classes/sun/font/FcFontConfiguration.java	Tue May 06 11:01:25 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2014, Oracle and/or its affiliates. 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
@@ -33,6 +33,7 @@
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -173,8 +174,16 @@
     }
 
     @Override
-    public FontDescriptor[] getFontDescriptors(String fontName, int style) {
-        return new FontDescriptor[0];
+    protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
+        CompositeFontDescriptor[] cfi = get2DCompositeFontInfo();
+        int idx = fontIndex * NUM_STYLES + styleIndex;
+        String[] componentFaceNames = cfi[idx].getComponentFaceNames();
+        FontDescriptor[] ret = new FontDescriptor[componentFaceNames.length];
+        for (int i = 0; i < componentFaceNames.length; i++) {
+            ret[i] = new FontDescriptor(componentFaceNames[i], StandardCharsets.UTF_8.newEncoder(), new int[0]);
+        }
+
+        return ret;
     }
 
     @Override
@@ -250,10 +259,12 @@
                 }
 
                 String[] fileNames = new String[numFonts];
+                String[] faceNames = new String[numFonts];
 
                 int index;
                 for (index = 0; index < fcFonts.length; index++) {
                     fileNames[index] = fcFonts[index].fontFile;
+                    faceNames[index] = fcFonts[index].familyName;
                 }
 
                 if (installedFallbackFontFiles != null) {
@@ -266,7 +277,7 @@
                         = new CompositeFontDescriptor(
                             faceName,
                             1,
-                            null,
+                            faceNames,
                             fileNames,
                             null, null);
             }
--- a/src/windows/native/sun/windows/awt_Component.cpp	Sat Apr 19 12:23:02 2014 +0800
+++ b/src/windows/native/sun/windows/awt_Component.cpp	Tue May 06 11:01:25 2014 -0700
@@ -1719,9 +1719,11 @@
       case WM_IME_SETCONTEXT:
           // lParam is passed as pointer and it can be modified.
           mr = WmImeSetContext(static_cast<BOOL>(wParam), &lParam);
+          CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
           break;
       case WM_IME_NOTIFY:
           mr = WmImeNotify(wParam, lParam);
+          CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
           break;
       case WM_IME_STARTCOMPOSITION:
           mr = WmImeStartComposition();
@@ -4070,7 +4072,7 @@
 {
     if (mr != mrConsume)  {
         HWND proxy = GetProxyFocusOwner();
-        if (proxy != NULL) {
+        if (proxy != NULL && ::IsWindowEnabled(proxy)) {
             retVal = ComCtl32Util::GetInstance().DefWindowProc(NULL, proxy, message, wParam, lParam);
             mr = mrConsume;
         }
--- a/src/windows/native/sun/windows/awt_Frame.cpp	Sat Apr 19 12:23:02 2014 +0800
+++ b/src/windows/native/sun/windows/awt_Frame.cpp	Tue May 06 11:01:25 2014 -0700
@@ -342,6 +342,8 @@
         case WM_IME_STARTCOMPOSITION:
         case WM_IME_ENDCOMPOSITION:
         case WM_IME_COMPOSITION:
+        case WM_IME_SETCONTEXT:
+        case WM_IME_NOTIFY:
         case WM_IME_CONTROL:
         case WM_IME_COMPOSITIONFULL:
         case WM_IME_SELECT:
--- a/test/java/awt/Frame/7024749/bug7024749.java	Sat Apr 19 12:23:02 2014 +0800
+++ b/test/java/awt/Frame/7024749/bug7024749.java	Tue May 06 11:01:25 2014 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 7024749
+ * @bug 7024749 8019990
  * @summary JDK7 b131---a crash in: Java_sun_awt_windows_ThemeReader_isGetThemeTransitionDurationDefined+0x75
  * @library ../../regtesthelpers
  * @build Util