Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | fullscreen presentation on all monitors is broken | ||||||
---|---|---|---|---|---|---|---|
Product: | Impress | Reporter: | philipp.lohmann | ||||
Component: | code | Assignee: | groucho266 | ||||
Status: | CLOSED FIXED | QA Contact: | issues@graphics <issues> | ||||
Severity: | Trivial | ||||||
Priority: | P3 | CC: | issues, mdxonefour, wolframgarten | ||||
Version: | OOO320m14 | Keywords: | regression | ||||
Target Milestone: | 3.4.0 | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Issue Depends on: | 116911 | ||||||
Issue Blocks: | |||||||
Attachments: |
|
Description
philipp.lohmann
2010-04-19 16:38:39 UTC
Unkown since when this is broken, but still a regression, so setting keyword. Have to fix this in two places. First in sd/source/ui/dlg/present.cxx in the slide show dialog, we have to store the display values in the listbox alongside their textural representations. At the moment the display values are derived by the index of each entry in the list box (which works more by accident then by design.) In sd/source/ui/slideshow/slideshow.cxx we have to accept -1 as valid display index and not replace it with the default display index. At the moment, however, we have to wait for some VCL changes to be integrated that make the WorkWindow::SetPresentationMode function accept -1 as display index. Created attachment 70455 [details]
Outline of the changes in sd
Submitted issue 116911 for the missing VCL support. After trying out a solution for the VCL issue more problems emerged: 1. ::Window::ImplGetCanvas() tries to instantiate a special service when multi-monitor support is requested: com.sun.star.rendering.SpriteCanvas.MultiScreen instead of "com.sun.star.rendering.SpriteCanvas. This service is just not implemented anywhere and is not registered in Canvas.xcu (offapi). 2. When the standard service name is used (see above) then the DirectX canvas has problems to create a proper surface for the large virtual screen. Although the DirectX device supports surfaces of up to size 4096x4096, the canvas restricts itself to a maximum of 2048x2048. This is not enough for the (in my case) 3200x1200 pixels. The result are paint artifacts. The VCL canvas works OK. Fixed in CWS impress211. Tackled the mentioned issues as follows: 1. When multi-monitor support is requested then not only com.sun.star.rendering.SpriteCanvas.MultiScreen but also com.sun.star.rendering.Canvas.MultiScreen service names are used. Support for the .MultiScreen variants has been added to officecfg/.../Canvas.xcu and canvas/source/factory/cf_service.cxx. 2. Only the VCL canvas is used when a .MultiScreen canvas is requested. verified in CWS impress211 on Linux and Mac. One glitch: using the compiz window manager will result in only one screen being use still even though we now set _NET_WM_FULLSCREEN_MONITORS hint. That however would seem to be a bug in compiz. Metacity and KWin work correctly. Finally also verified on Windows. |