Issue 65304 - "completed" startup-notification on short-lived slave soffices not called
Summary: "completed" startup-notification on short-lived slave soffices not called
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: OOo 2.0.2
Hardware: All Linux, all
: P3 Trivial (vote)
Target Milestone: OOo 2.0.4
Assignee: philipp.lohmann
QA Contact: issues@gsl
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-11 16:37 UTC by caolanm
Modified: 2006-06-27 11:42 UTC (History)
3 users (show)

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


Attachments
simple fix (470 bytes, patch)
2006-05-11 16:38 UTC, caolanm
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description caolanm 2006-05-11 16:37:33 UTC
Using gnome - when starting a second instance of an openoffice application
launch feedback stays on - example with word processor:

i.e. Launch word processor from panel, "starting..." appears and on frame map
disappears as desired, but now launch again from pannel 

"Starting..." appears, but after frame map it remains until timeout.

This is with StartupNotify=true in the .desktop files. Trivial patch, perhaps
all wrong attached.
Comment 1 caolanm 2006-05-11 16:38:06 UTC
Created attachment 36409 [details]
simple fix
Comment 2 caolanm 2006-05-11 16:39:31 UTC
mmeeks: is this the right way to do this in gtk where the new app just asks the
old app to launch a new window

kendy: FYI as we were talking about this earlier
Comment 3 philipp.lohmann 2006-05-11 17:48:22 UTC
seems to be an easy one. However what happens if gdk_notify_startup_complete()
gets called twice ? One would hope nothing at all else the first instance will
of course do something unwanted. OTOH we could easily protect ourselves against
this by setting a bool on the first GtkSalFrame::Show(TRUE).

Michael: what is your opinion ?
Comment 4 kendy 2006-05-12 09:33:11 UTC
In the KDE plugin, we simply have m_bStartupDone attribute to remember whether  
it was called:  
  
SalKDEDisplay::~SalKDEDisplay()  
{  
    // in case never a frame opened  
    static_cast<KDEXLib*>(GetXLib())->doStartup();  
[etc.]  
  
void KDEXLib::doStartup()  
{  
    if( ! m_bStartupDone )  
    {  
        KStartupInfo::appStarted();  
        m_bStartupDone = true;  
        #if OSL_DEBUG_LEVEL > 1  
        fprintf( stderr, "called KStartupInfo::appStarted()\n" );  
        #endif  
    }  
}  
  
IIRC, it was safe to call it twice in the KDE case, but just for case... ;-)  
Comment 5 philipp.lohmann 2006-05-15 14:58:16 UTC
committed in CWS vcl59, added the check for frame already shown
Comment 6 philipp.lohmann 2006-05-31 10:27:56 UTC
verified in CWS vcl59
Comment 7 philipp.lohmann 2006-06-27 11:42:04 UTC
merged in 680m173