To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=76129


User fs changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|''                        |'as,fs'
--------------------------------------------------------------------------------
             Assigned to|fs                        |kso
--------------------------------------------------------------------------------




------- Additional comments from [EMAIL PROTECTED] Wed Aug  1 12:31:05 +0000 
2007 -------
fs->kso: please take over the remaining part (in CWS basmgr03):
With the patch above (already committed and built), the behavior now is as 
follows:
- start OOo
- open a database document
- open a form embedded in this database document
- select menu: Tools / Customize
- select tab page: Events
- press button: Macro
=> the macro selector is opened, but the form does *not* appear in the list
- close the dialogs
- close the form
- re-open the form
- Tools / Customize / Events / Macro
=> the macro selector is opened, this time the form *does* appear in the list

The reason for this is in the tdoc UCP, more precise, in
OfficeDocumentsManager::isOfficeDocument: There, a check is made whether the
frame of the current controller of the document is "on top" - if not, it's
assumed the document is no office document. Now when the document manager is
created while the form already is open, then isTop returns false, thus the form
is assumed to be no office document.

Now when the form is opened while the document manager is already alive, the
isTop check still returns true - it only becomes false later when the frame gets
a new parent frame. (In fact, the definition for isTop is "the frame has no
parent, or the parent is the desktop".)

All in all, I think the isOfficeDocument method is wrong here.
I could imagine the following alternative solutions:
- use supportsService( "com.sun.star.document.OfficeDocument" ) instead.
  Finally, it might make sense to simply believe what the document is telling
  about itself.
- use XFrame.getContainerWindow, to determine whether it supports the
  XTopWindow interface. (Though, comments in AS' code in the framework module
  suggest this might not be reliable. Perhaps AS - on cc - has an opinion here.)
- convince AS to adjust XFrame::isTop to the new realities :)
  Which means: The fact that top level frames can have parent frames has been
  introduced with the changes in CWS fwkdbdesign01, and is pretty new. Maybe
  XFrame::isTop simply doesn't care for this new concept, yet.

  fs->as: In recent code in framework, there's a WindowHelper::isTopWindow
  method which encapsulates the question whether a window really is a top 
window.
  Perhaps Frame::isTop should use isTopWindow instead?

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to