A good point.
But what if I later on want to be able to have access to the old scene from another widget. In that case, it makes it a bit more complex to insert the new information in the already existing GLWidget. Because then I would use the old memory address and pointers pointing to this adress in belief that it contains the old information would be suprised.

But I've found a solution to the problem.

I've forgot something very important in my question. Was to tired and anoyed:

the GLWidget class called GLCanvas has two parents, GLWidget and Scene. Where class Scene is a class with all the 3d rendering stuff. So the solution was simply to create a new GLCanvas and insert the loaded scene information in it by calling Scene:perator=(const Scene&)... I tried to do this at contruction of the GLCanvas, but there seems to be something I don't know about Qt and copy constructors and operator=. Because it didn't work if I passed the loaded scene into the constructor...

thanks
pir