https://bz.apache.org/ooo/show_bug.cgi?id=125129

--- Comment #16 from [email protected] ---
Breakpoints on every piece of code related to FN_FORMAT_FRAME_DLG and
FN_DRAW_WRAP_DLG that seemed useful, all didn't trigger before the crash.

To initialize the SID_COLOR_TABLE entry, SwFrameShell::Execute() must be called
with rReq.GetSlot() == FN_FORMAT_FRAME_DLG or FN_DRAW_WRAP_DLG. That never
happens. The color table doesn't get initialized. When the SfxItemSet is
copied, it isn't there to be copied to the new SfxItemSet. Later code expecting
it to be valid, accesses the NULL maColorTable and crashes.

It's a complete mystery why SwFrameShell::Execute() isn't getting called with
rReq.GetSlot() == FN_FORMAT_FRAME_DLG or FN_DRAW_WRAP_DLG. AFAICT all the code
that might call it was breakpointed, and none triggered.

Thus this is a very difficult bug to fix, as it is not caused by the presence
of code taking a wrong action, but by the absence of code that should take the
right action.

It could take long to examine how SwFrameShell and the tab pages relate and
interact, and the multitude of events that pass between them, and figure out
when and how that wFrameShell::Execute() event is meant to get sent.

Since this is an AOO 4.2.0 bug, and 4.1.x presumably works, a more productive
approach might be a regression test between them, to isolate the single commit
that broke it. That should immediately highlight what code changed, and where
to look and what to test.

-- 
You are receiving this mail because:
You are the assignee for the issue.

Reply via email to