BUG: PowerPoint 2002 Stops Responding When Resizing Visual Basic ActiveX Control While in Design Mode (314441)
The information in this article applies to:
- Microsoft PowerPoint 2002
- Microsoft Visual Basic Professional Edition for Windows 6.0
This article was previously published under Q314441 SYMPTOMS
If an ActiveX control is written in Visual Basic 6.0 and supports the EditAtDesignTime property, and you insert the control on a slide that is open in PowerPoint 2002, and you then activate and try to resize the control during design time, PowerPoint 2002 may stop responding (hang) indefinitely or crash during the resize operation. This problem does not occur with earlier versions of PowerPoint.
CAUSE
When you resize an ActiveX control in design mode, PowerPoint temporarily deactivates the control and resizes it by calling IOleObject::SetExtent. If this method is called on a Visual Basic control that has been previously activated but is not currently in-place active, Visual Basic calls the IOleClientSite::RequestNewObjectLayout method of the container to notify it that a resize is being requested.
By default, PowerPoint uses the IOleClientSite::RequestNewObjectLayout method to renegotiate space with OLE objects that want to expand while they are in-place active. PowerPoint does not expect an ActiveX control to call this method for a normal resize. This causes PowerPoint and Visual Basic to renegotiate the space for the control, instead of only setting the size for the control.
Due to a change in the way PowerPoint 2002 handles the renegotiation of space, PowerPoint may inadvertently continue to enlarge the object beyond the original resize, and may call IOleObject::SetExtent again with a larger size. The Visual Basic control again responds with a call to IOleClientSite::RequestNewObjectLayout, and the process repeats itself. Because of this, the computer stops responding until PowerPoint runs out of stack space or overflows an internal variable, causing a crash.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 12/15/2003 |
---|
Keywords: | kbbug kbpending KB314441 |
---|
|