Issue 74213 - Crash: appling a masterpage while editing text
Summary: Crash: appling a masterpage while editing text
Status: CLOSED FIXED
Alias: None
Product: Impress
Classification: Application
Component: formatting (show other issues)
Version: 680m199
Hardware: PC All
: P2 Trivial (vote)
Target Milestone: OOo 2.2
Assignee: wolframgarten
QA Contact: issues@graphics
URL:
Keywords: regression
Depends on:
Blocks: 73858
  Show dependency tree
 
Reported: 2007-02-06 10:51 UTC by maydimanche
Modified: 2007-02-12 11:49 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description maydimanche 2007-02-06 10:51:33 UTC
Version: 2.2.0_070123 ja (the version for TCM l10n test)

1. Create new or open presentation file.
2. select a textbox and go textedit mode(blinking I cursor).
3. then apply a masterpage from sidebar.
Result: Crash

I have no idea whether bug or environment specific...
On v2.1 on windows ... that's OK

E: openSUSE10.2 Xorg7.2 KDE3.5.6 XGL+Compiz
Comment 1 wolframgarten 2007-02-06 11:21:36 UTC
Reproducible. Reassigned.
Comment 2 wolframgarten 2007-02-06 11:26:14 UTC
Reproducible under windows, too. Adding keyword regression.
Comment 3 wolframgarten 2007-02-06 11:52:42 UTC
The ID of the error report is r5snsb.
Comment 4 clippka 2007-02-06 14:18:57 UTC
CL: the cause of the crash is that in this scenario,
SdDrawDocument::RemoveUnnessesaryMasterPages() is called. This contains code
that if a masterpage is deleted because it is no longer used, the current
visible page is hidden from the document view by calling
SdrDrawView::HideSdrPage(). Since no ShowSdrPage is following we later crash in
GetMenuState() that expects to always have a SdrPageView pointer. This is also
assumed at many other locations.

So the code in RemoveUnnessesaryMasterPages() is wrong since it does not check
if the masterpage that is deleted is really the one that is currently visible. I
changed the code to check that. If the deleted masterpage is also visible, I
hide it and show the first non master slide instead, therefore always having a
valid SdrPageView.

Since this is a regression but the code location that caused this bug is not
changed for a very very very very long time, I suspect that we had some changes
in the view handling that let this bug surface from the deep.

Fixed in cws impress117
Comment 5 clippka 2007-02-07 07:35:37 UTC
verified in cws, back to qa
Comment 6 wolframgarten 2007-02-07 08:47:03 UTC
Verified in CWS.
Comment 7 wolframgarten 2007-02-12 11:49:17 UTC
Tested in master OOF680m7. Closed.