Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4037680

JDK1.1: Window.toFront() doesn't deiconify an iconified window on Win32 &Solaris

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.0, 2.0, 1.0.2, 1.1, 1.1.3, 1.1.4, 1.1.6
    • client-libs
    • generic, x86, sparc
    • solaris_2.4, solaris_2.5, solaris_2.5.1, windows_95, windows_nt

      Since there is no other API that we can call to deiconify a Frame, Window.toFront() seems to be the best fit. Component.show() is not as good a fit since it is called to operate on all components, rather than just top-level windows.

      So in order to make deiconify work, Window.toFront() needs to check to see if the window is iconified. If it is, then go ahead and deiconify it.

      I have a fix for this in src/win32/sun/windows/awt_Window.cpp by adding the following lines to the end of the sun_awt_windows_WWindowPeer_toFront() method:

          if (::IsIconic(w->GetHWnd()))
              ::ShowWindow(w->GetHWnd(), SW_RESTORE);

      I tested this fix and it works. I am in Devpro and would be happy to putback this fix thru the devpro vmgate. Please let me know. Thanks.

      I don't have a fix for its counter part on Solaris. Please fix it on Solaris too.

            xdengsunw Xianfa Deng (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: