[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    RE:QT BUG
From:       Thomas Zander <zander () xs4all ! nl>
Date:       2000-07-23 10:25:39
[Download RAW message or body]

Here is my problem (not 100% sure it's qt ;-)

In kword_frame.h we have:

class KWFrameSet
{
public: 
...
    QBrush getBackgroundColor() { return backgroundColor; }
    void setBackgroundColor( QBrush _color ) { backgroundColor = _color; }

protected:
    QBrush backgroundColor;
...
}

in kword_frame.cc

in the constructor:
      backgroundColor = QBrush( Qt::white );

void KWTextFrameSet::assign( KWTextFrameSet *fs )  {
...
    getFrame( 0 )->setBackgroundColor( fs->getFrame( 0 )->getBackgroundColor() );
...
}


After a frame and frameset have been created with KWFrame *KWFrame::getCopy()
assign _can_ crash on 
 QBrush &QBrush::operator= line  3268 which is called from the above 
line (getFrame etc.)

I fixed some errors which allows floating tables to be copied, and after a 
copy this is the result. It can happen after 10 copies, it can happen after
one copy. As a result of these patches you can't reproduce this withouth my
patches.

I fear the operator= uses a shallow copy and something is wrong in the 
refrence counter. ddd says that 'this' (the QBrush) = 0xac, which seems to
me to be wrong.

help...
-- 
Thomas Zander                                            zander@earthling.net
The only thing worse than failure is the fear of trying something new

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic