Browse Prior Art Database

Avoiding System Hangs during OS/2 Drag-Drop Operations

IP.com Disclosure Number: IPCOM000114146D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 69K

Publishing Venue

IBM

Related People

Morgan, SA: AUTHOR

Abstract

OS/2* Presentation Manager* (PM) operations allow the user to drag and drop icons to and from container controls. In order to easily enable drag-drop operations, PM locks the desktop while the drag is taking place. Locking the desktop means that no update to any window is allowed. This permits the dragging of the icon over windows without causing repaint problems. The theory behind this being allowable is that since the drag is user-initiated, the user will not be able to request other actions that must update the screen while the drag is taking place.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Avoiding System Hangs during OS/2 Drag-Drop Operations

      OS/2* Presentation Manager* (PM) operations allow the user to
drag and drop icons to and from container controls.  In order to
easily enable drag-drop operations, PM locks the desktop while the
drag is taking place.  Locking the desktop means that no update to
any window is allowed.  This permits the dragging of the icon over
windows without causing repaint problems.  The theory behind this
being allowable is that since the drag is user-initiated, the user
will not be able to request other actions that must update the screen
while the drag is taking place.

      Unfortunately for this theory, some applications cause windows
to appear without user interaction.  An example is a message box
displayed by an application to notify the user of some system event
that has occurred.  When a window is requested to be shown, and the
screen is locked due to a drag-drop operation being in process, the
system has a tendency to hang due to the inability of the window to
show itself on the screen.

      This disclosure describes a technique that allows applications
to ensure that showing a window that is not a direct result of a user
interaction will not hang the system if a drag-drop operation is
underway.

      The key to avoiding a system hang while displaying a window
during a drag-drop operation is to have the application that is
displaying the window ensure that the desktop is unlocked before the
window is displayed.  The application does not want to allow screen
painting during the drag-drop operation, since that could cause
painting problems as the mouse and icon are dragged over windows that
are updating.  The application also does not want to query some
s...