Issue 125969 - Error: object deleted while in use - drag and drop (Debug Output)
Summary: Error: object deleted while in use - drag and drop (Debug Output)
Status: CONFIRMED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: 4.1.1
Hardware: All All
: P3 Normal (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-26 09:23 UTC by Oliver Brinzing
Modified: 2014-12-26 09:23 UTC (History)
0 users

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


Attachments
drag and drop error (8.43 KB, application/vnd.oasis.opendocument.text)
2014-12-26 09:23 UTC, Oliver Brinzing
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Oliver Brinzing 2014-12-26 09:23:36 UTC
Created attachment 84317 [details]
drag and drop error

steps to reproduce:
- drag and drop attached file into aoo startcenter (with a debug version of aoo4.1.1)

Debug Output
-------------------
Error: object deleted while in use !
From File c:\build_tmp\aoo-4.1.1\main\vcl\inc\svdata.hxx at Line 446
Abort ? (Yes=abort / No=ignore / Cancel=core dump)

this will not happen, if file is opened via File -> Open...

// ----------------------
// - struct ImplDelData -
// ----------------------
// ImplDelData is used as a "dog tag" by a window when it
// does something that could indirectly destroy the window
// TODO: wild destruction of a window should not be possible

struct ImplDelData
{
    ImplDelData*    mpNext;
    const Window*   mpWindow;
    sal_Bool            mbDel;

                    ImplDelData( const Window* pWindow = NULL )
                    : mpNext( NULL ), mpWindow( NULL ), mbDel( sal_False )
                    { if( pWindow ) AttachToWindow( pWindow ); }

    virtual         ~ImplDelData();

    bool            IsDead() const
    {
        DBG_ASSERT( mbDel == sal_False, "object deleted while in use !" );
        return (mbDel!=sal_False);
    }
    sal_Bool /*deprecated */IsDelete() const { return (sal_Bool)IsDead(); }

private:
    void            AttachToWindow( const Window* );
};