diff --git a/examples/canvas/canvas.cpp b/examples/canvas/canvas.cpp index 3e3e4cd0..bd658949 100644 --- a/examples/canvas/canvas.cpp +++ b/examples/canvas/canvas.cpp @@ -202,17 +202,26 @@ void FigureEditor::contentsMouseMoveEvent(TQMouseEvent* e) } } - +static uint bouncyLogoCount = 0; +static TQCanvasPixmapArray *logoarr = 0; BouncyLogo::BouncyLogo(TQCanvas* canvas) : TQCanvasSprite(0,canvas) { - static TQCanvasPixmapArray logo("qt-trans.xpm"); - setSequence(&logo); + if ( !logoarr ) { + logoarr = new TQCanvasPixmapArray("qt-trans.xpm"); + } + bouncyLogoCount++; + setSequence(logoarr); setAnimated(TRUE); initPos(); } +BouncyLogo::~BouncyLogo() +{ + --bouncyLogoCount; +} + const int logo_rtti = 1234; @@ -301,9 +310,10 @@ void BouncyLogo::advance(int stage) } } +// Some objects to cache among different views static uint mainCount = 0; -static TQImage *butterflyimg; -static TQImage *logoimg; +static TQImage *butterflyimg = 0; +static TQImage *logoimg = 0; Main::Main(TQCanvas& c, TQWidget* parent, const char* name, WFlags f) : TQMainWindow(parent,name,f), @@ -368,6 +378,8 @@ Main::Main(TQCanvas& c, TQWidget* parent, const char* name, WFlags f) : printer = 0; + mainCount++; + init(); } @@ -378,10 +390,6 @@ void Main::init() static int r=24; srand(++r); - mainCount++; - butterflyimg = 0; - logoimg = 0; - int i; for ( i=0; i