When opening AllScripts application SCM, users are getting a black screen/ghost window and unable to work when they have more than 2 monitors. We try setting it to High DPI, but the issue comes back.
book
Article ID: CTX310752
calendar_today
Updated On:
Description
Cx has an Allscripts app called SCM and when perform a specific function in the app which opens up a second window. When they close this second window, it leaves a black box/ghost window.
Resolution
Please ask Citrix for two private hotfixes for this issue referencing CVADHELP-16956
This behavior coming from the way we use WIN32 APIs to check the visibility would have to be treated as "By Design".
The reason the API still indicates the window is visible is simply because the app sends WM_REDRAW message to the dialog box with FALSE to stop drawing and not restoring it back by setting WM_REDRAW with TRUE before closing the window (https://docs.microsoft.com/en-us/windows/win32/gdi/wm-setredraw)
Description: Users are getting a black screen/ghost window in an AllScripts app
According to MS, the only way to detect the hidden window state when in WS_REDRAW(FALSE) is to handle AA event EVENT_OBJECT_HIDE. Here we assign a new window property to make sure we can capture this state from seamless engine.
Problem Cause
The reason the API still indicates the window is visible is simply because the app sends WM_REDRAW message to the dialog box with FALSE to stop drawing and not restoring it back by setting WM_REDRAW with TRUE before closing the window (https://docs.microsoft.com/en-us/windows/win32/gdi/wm-setredraw)
Root Cause: WS_REDRAW (FALSE) is assigned but the window is hidden. In this special condition, we cannot tell if the window is visible to the user or not because we blindly regard windows with WS_REDRAW(FALSE) as visible.
Was this article helpful?
thumb_up
Yes
thumb_down
No