8198001: java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java debug assert on Windows
authorarapte
Fri, 02 Nov 2018 23:05:47 +0530
changeset 52536 d09e1ab4bd1d
parent 52535 45a5c4d812d9
child 52537 814c49afb1a7
8198001: java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java debug assert on Windows Reviewed-by: prr, serb
src/java.desktop/windows/native/libawt/windows/awt_MenuBar.cpp
test/jdk/java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java
--- a/src/java.desktop/windows/native/libawt/windows/awt_MenuBar.cpp	Thu Nov 01 13:56:14 2018 -0700
+++ b/src/java.desktop/windows/native/libawt/windows/awt_MenuBar.cpp	Fri Nov 02 23:05:47 2018 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, 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
@@ -206,7 +206,10 @@
  * this function must be called to draw the changed menu bar.
  */
 void AwtMenuBar::RedrawMenuBar() {
-    VERIFY(::DrawMenuBar(GetOwnerHWnd()));
+    HWND hOwnerWnd = GetOwnerHWnd();
+    if (hOwnerWnd != NULL) {
+        VERIFY(::DrawMenuBar(hOwnerWnd));
+    }
 }
 
 void AwtMenuBar::_AddMenu(void *param)
--- a/test/jdk/java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java	Thu Nov 01 13:56:14 2018 -0700
+++ b/test/jdk/java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java	Fri Nov 02 23:05:47 2018 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -29,7 +29,7 @@
 
 /**
  * @test
- * @bug 8165769
+ * @bug 8165769 8198001
  * @key headful
  */
 public final class WrongParentAfterRemoveMenu {