views:

99

answers:

1

Hello

I am using mfc to Qt migration and I am showing Qt dialogs in my Mfc app. Is it Ok to deleteLater QWinWidget in its winEvent handler? The thing is that I want all of my open Qt dialogs in My Mfc application to be automatically deleted when the main mfc window is closed. Since WM_DESTROY will be sent for all child windows ( and the Qt widgets too) So I added the following code in QwinWidget winEvent handler :

QWinWidget::winEvent(MSG * message, long * result)
       {
                 ........
                 if(message->message == WM_DESTROY )
                     deleteLater();
                 return false;
       }

Can someone comment this Thanks

A: 

Strictly regarding the safety of the deleteLater() call, it is usually safe to do inside a function running inside that class. The object won't be deleted until control is back into the event loop functions. The only potential problems I can see involve multi-threaded code, which likely wouldn't be the case for a widget with it's event handlers.

Caleb Huitt - cjhuitt