Skip to content

Commit

Permalink
8298887: On the latest macOS+XCode the Robot API may report wrong colors
Browse files Browse the repository at this point in the history
Reviewed-by: phh
Backport-of: 50120396b6cca1219fb5dd42a11e4b29b79bd3bd
  • Loading branch information
mrserb committed May 5, 2023
1 parent e537b9d commit ceb6793
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 16 deletions.
6 changes: 1 addition & 5 deletions src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@

#define k_JAVA_ROBOT_WHEEL_COUNT 1

#if !defined(kCGBitmapByteOrder32Host)
#define kCGBitmapByteOrder32Host 0
#endif

// In OS X, left and right mouse button share the same click count.
// That is, if one starts clicking the left button rapidly and then
// switches to the right button, then the click count will continue
Expand Down Expand Up @@ -350,7 +346,7 @@ static inline void autoDelay(BOOL isMove) {
8, picWidth * sizeof(jint),
picColorSpace,
kCGBitmapByteOrder32Host |
kCGImageAlphaPremultipliedFirst);
kCGImageAlphaNoneSkipFirst);

CGColorSpaceRelease(picColorSpace);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2022, 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
Expand Down Expand Up @@ -29,14 +29,6 @@
#import <Cocoa/Cocoa.h>
#import "JNIUtilities.h"

// these flags are not defined on Tiger on PPC, so we need to make them a no-op
#if !defined(kCGBitmapByteOrder32Host)
#define kCGBitmapByteOrder32Host 0
#endif
#if !defined(kCGBitmapByteOrder16Host)
#define kCGBitmapByteOrder16Host 0
#endif

// NOTE : Modify the printSurfaceDataDiagnostics API if you change this enum
enum SDRenderType
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
/**
* @test
* @key headful
* @bug 8215105 8211999
* @bug 8215105 8211999 8298887
* @summary tests that Robot can capture the common colors without artifacts
* @run main/othervm CheckCommonColors
* @run main/othervm -Xcheck:jni CheckCommonColors
Expand Down
2 changes: 1 addition & 1 deletion test/jdk/java/awt/font/GlyphVector/MultiSlotFontTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

/**
* @test
* @bug 8240756
* @bug 8240756 8298887
* @summary Non-English characters are printed with wrong glyphs on MacOS
* @modules java.desktop/sun.java2d java.desktop/sun.java2d.loops java.desktop/sun.font
* @requires os.family == "mac"
Expand Down

5 comments on commit ceb6793

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mrserb
Copy link
Member Author

@mrserb mrserb commented on ceb6793 Jan 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/backport jdk8u-dev

@openjdk
Copy link

@openjdk openjdk bot commented on ceb6793 Jan 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mrserb Could not automatically backport ceb6793b to openjdk/jdk8u-dev due to conflicts in the following files:

  • src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
  • test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java
  • test/jdk/java/awt/font/GlyphVector/MultiSlotFontTest.java

Please fetch the appropriate branch/commit and manually resolve these conflicts by using the following commands in your personal fork of openjdk/jdk8u-dev. Note: these commands are just some suggestions and you can use other equivalent commands you know.

# Fetch the up-to-date version of the target branch
$ git fetch --no-tags https://git.openjdk.org/jdk8u-dev.git master:master

# Check out the target branch and create your own branch to backport
$ git checkout master
$ git checkout -b backport-mrserb-ceb6793b

# Fetch the commit you want to backport
$ git fetch --no-tags https://git.openjdk.org/jdk11u-dev.git ceb6793bf3b5855c7c521678b5d99d752800b441

# Backport the commit
$ git cherry-pick --no-commit ceb6793bf3b5855c7c521678b5d99d752800b441
# Resolve conflicts now

# Commit the files you have modified
$ git add files/with/resolved/conflicts
$ git commit -m 'Backport ceb6793bf3b5855c7c521678b5d99d752800b441'

Once you have resolved the conflicts as explained above continue with creating a pull request towards the openjdk/jdk8u-dev with the title Backport ceb6793bf3b5855c7c521678b5d99d752800b441.

@mrserb
Copy link
Member Author

@mrserb mrserb commented on ceb6793 Feb 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/backport jdk8u-dev

@openjdk
Copy link

@openjdk openjdk bot commented on ceb6793 Feb 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mrserb Could not automatically backport ceb6793b to openjdk/jdk8u-dev due to conflicts in the following files:

  • src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
  • test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java

Please fetch the appropriate branch/commit and manually resolve these conflicts by using the following commands in your personal fork of openjdk/jdk8u-dev. Note: these commands are just some suggestions and you can use other equivalent commands you know.

# Fetch the up-to-date version of the target branch
$ git fetch --no-tags https://git.openjdk.org/jdk8u-dev.git master:master

# Check out the target branch and create your own branch to backport
$ git checkout master
$ git checkout -b backport-mrserb-ceb6793b

# Fetch the commit you want to backport
$ git fetch --no-tags https://git.openjdk.org/jdk11u-dev.git ceb6793bf3b5855c7c521678b5d99d752800b441

# Backport the commit
$ git cherry-pick --no-commit ceb6793bf3b5855c7c521678b5d99d752800b441
# Resolve conflicts now

# Commit the files you have modified
$ git add files/with/resolved/conflicts
$ git commit -m 'Backport ceb6793bf3b5855c7c521678b5d99d752800b441'

Once you have resolved the conflicts as explained above continue with creating a pull request towards the openjdk/jdk8u-dev with the title Backport ceb6793bf3b5855c7c521678b5d99d752800b441.

Below you can find a suggestion for the pull request body:

Hi all,

This pull request contains a backport of commit ceb6793b from the openjdk/jdk11u-dev repository.

The commit being backported was authored by Sergey Bylokhov on 5 May 2023 and was reviewed by Paul Hohensee.

Thanks!

Please sign in to comment.