Handle the case where IExtractIconW::GetIconLocation returns E_PENDING

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: 17
    • Component/s: client-libs
    • None

      IExtractIconW::GetIconLocation [1] when used with GIL_ASYNC flag can return E_PENDING. In this case, the application is expected to create a background thread and call GetIconLocation without GIL_ASYNC to get the location of the icon.

      It could be a very rare situation though.

      Currently E_PENDING is handled by requesting a default icon instead [2].

      If JDK-8289708 is implemented, the E_PENDING value could also be handled.

      [1] https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-iextracticonw-geticonlocation
      [2] https://github.com/openjdk/jdk/blob/94127f43a4a28a89094fa93cd1da49763134f9db/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp#L941-L942

            Assignee:
            Alexander Zuev
            Reporter:
            Alexey Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: