<AWT Dev> Review Request for 8057574: Inconsistent behavior for setBackground (Windows/Linux)
Semyon Sadetsky
semyon.sadetsky at oracle.com
Tue Jan 19 09:12:34 UTC 2016
Hi Prem,
I would choose to inherit all them since the javadoc states that.
But this may cause a compatibility issue as well as in the reversed case
(to not inherit all).
Looks like the issue is not as easy as it appeared.
--Semyon
On 1/19/2016 11:10 AM, Prem Balakrishnan wrote:
>
> Hi Semyon,
>
> Ideally what you said is right.
>
> Behaviors are different in different platform, as follows:
>
> *In Windows:*
>
> *B*ackground color *Doesn’t* Inherit Parent’s Background Color.
>
> Foreground color *Does* Inherit Parent’s Foreground Color.
>
> Font *Does* inherit Parent Font.
>
> *In Linux:*
>
> Background color *Does* Inherit Parent’s Background Color(Before my Fix)
>
> Foreground color *Does* inherit parent’s Foreground Color.
>
> Font *Does* inherit parent’s font.
>
> *In Mac:*
>
> Background color *Doesn’t* Inherit Parent’s Background Color
>
> Foreground color *Doesn’t* Inherit Parent’s Foreground Color.
>
> Font *Doesn’t* inherit parent’s font.
>
> Decision to be taken what should be the default scenario and
> appropriately fix others.
>
> Regards,
> Prem
>
> *From:*Semyon Sadetsky
> *Sent:* Tuesday, January 19, 2016 12:09 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; Sergey Bylokhov;
> awt-dev at openjdk.java.net
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior for
> setBackground (Windows/Linux)
>
> On 1/19/2016 6:30 AM, Prem Balakrishnan wrote:
>
> Hi Semyon,
>
> In the case of Foreground color, Behavior is same in Windows and
> Linux platforms.
>
> (i.e., Child inherits parents Foreground color).
>
> And from my point of view the behavior can be retained.
>
> That seems to me inconsistent when the background color is inherited
> and the foreground is not. I think they both should be either
> inherited either both not inherited.
>
> --Semyon
>
> Regards,
>
> Prem
>
> *From:* Semyon Sadetsky
> *Sent:* Monday, January 18, 2016 2:30 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; Sergey Bylokhov;
> awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior for
> setBackground (Windows/Linux)
>
> Hi Prem,
>
> The updated version looks better.
> Should we do the same for the foreground color?
>
> --Semyon
>
> On 1/13/2016 4:24 PM, Prem Balakrishnan wrote:
>
> Hi Semyon,
>
> The scenario which you mentioned, child Window with Frame/Dialog
> as parent *FAILED*.
>
> I have fixed the issue and updated relative test cases .
>
> *Updated Webrev:
> *http://cr.openjdk.java.net/~arapte/prem/8057574/webrev.02/
> <http://cr.openjdk.java.net/%7Earapte/prem/8057574/webrev.02/>
>
> Regards,
>
> Prem
>
> *From:* Semyon Sadetsky
> *Sent:* Wednesday, January 13, 2016 4:13 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; Sergey Bylokhov;
> awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior
> for setBackground (Windows/Linux)
>
>
> On 1/13/2016 1:24 PM, Prem Balakrishnan wrote:
>
> Hi Semyon,
>
> Yup tried with Window:
>
> Dialog checks parent’s type internally, if the type is Window
> following exception is thrown.
>
> I meant *child* Window with Frame or Dialog parent.
>
> Exception in thread "main" java.lang.IllegalArgumentException:
> Wrong parent window
>
> *Code snippet from awt/Dialog.java *
>
> public Dialog(Window owner, String title, ModalityType
> modalityType) {
>
> super(owner);
>
> if ((owner != null) &&
>
> !(owner instanceof Frame) &&
>
> !(owner instanceof Dialog))
>
> {
>
> throw new IllegalArgumentException("Wrong parent window");
>
> }
>
> …….
>
> …….
>
> Regards,
> Prem
>
> *From:* Semyon Sadetsky
> *Sent:* Wednesday, January 13, 2016 3:40 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; Sergey Bylokhov;
> awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior
> for setBackground (Windows/Linux)
>
> Hi,
>
> On 1/13/2016 12:20 PM, Prem Balakrishnan wrote:
>
> Hi Semyon,
>
> 1. Patch is updated with the relative test for the fix.
>
> *Updated Webrev:*
> http://cr.openjdk.java.net/~arapte/prem/8057574/webrev.01/
> <http://cr.openjdk.java.net/%7Earapte/prem/8057574/webrev.01/>
>
> *Bug:* https://bugs.openjdk.java.net/browse/JDK-8057574
>
> 2. The issue is observed when Frame is parent and Dialog
> is Child. (Scenario reported by Alexander Stepanov)
>
> The above issue is resolved with the same fix.
>
> Did you try Window child?
>
> --Semyon
>
>
> Test related to this scenario is also updated with the patch.
>
> Regards,
>
> Prem
>
> *From:* Semyon Sadetsky
> *Sent:* Monday, January 11, 2016 6:00 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; awt-dev at openjdk.java.net
> <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior
> for setBackground (Windows/Linux)
>
> On 1/11/2016 2:18 PM, Prem Balakrishnan wrote:
>
>
>
> Hi Semyon,
>
> Thanks for the review comments.
>
> 1. I will add a relative test for the fix.
>
> 2. The same issue is observed with Frame also,
>
> As the original issue is reported for dialog, fix
> submitted only for dialog.
>
> Should I combine fix for Dialog and Frame in the same patch?
>
> Yes. I would consider it as the same issue. All window types may
> have this issue.
>
> --Semyon
>
>
>
> Regards,
>
> Prem
>
> *From:* Semyon Sadetsky
> *Sent:* Monday, January 11, 2016 3:32 PM
> *To:* Prem Balakrishnan; Ambarish Rapte; awt-dev at openjdk.java.net
> <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: Review Request for 8057574: Inconsistent behavior
> for setBackground (Windows/Linux)
>
> Hi Prem,
>
> By default a fix requires a regression test which fails before the
> fix an passes after. When it is absent noreg-??? label should be
> set to the JIRA ticket. See
> http://openjdk.java.net/guide/changePlanning.html for possible
> noreg suffixes.
> But it seems to me that reg test can be written for the issue.
>
> In JIRA Alexander Stepanov noted that the issue takes place for
> Frame as well but your solution is fixing the Dialog only. Did you
> run the scenario with Frame?
>
> --Semyon
>
> On 1/4/2016 11:28 AM, Prem Balakrishnan wrote:
>
> Hi,
>
> Please review fix for JDK9,
>
> *Bug:* https://bugs.openjdk.java.net/browse/JDK-8057574
>
> *Webrev:*
> http://cr.openjdk.java.net/~arapte/prem/8057574/webrev.00/
> <http://cr.openjdk.java.net/%7Earapte/prem/8057574/webrev.00/>
>
> *Issue:*
>
> It is Platform specific Issue - LINUX
>
> If Child Dialog’s Background color is NOT set explicitly,
> Child Dialog inherits Parent Dialog’s Background Color.
>
> (In Windows OS Child Dialog is NOT inheriting parent Dialog’s
> Background Color)
>
> *Cause:*
>
> Default Background color for Dialog is not initialized.
>
> *Fix:*
>
> If Background color is not set explicitly , default Background
> color is set at the time of Dialog’s initialization.
>
> Thanks,
>
> Prem
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20160119/e7e80bf2/attachment-0001.html>
More information about the awt-dev
mailing list