bool QgsApplication::notify( QObject * receiver, QEvent * event ) { bool done = false; emit preNotify( receiver, event, &done ); if ( done ) return true; // Send event to receiver and catch unhandled exceptions done = true; try { done = QApplication::notify( receiver, event ); } catch ( QgsException & e ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), e.what() ); } catch ( std::exception & e ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), e.what() ); } catch ( ... ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), tr( "unknown exception" ) ); } return done; }
bool QgsApplication::notify( QObject * receiver, QEvent * event ) { bool done = false; // Crashes in customization (especially on Mac), if we're not in the main/UI thread, see #5597 if ( thread() == receiver->thread() ) emit preNotify( receiver, event, &done ); if ( done ) return true; // Send event to receiver and catch unhandled exceptions done = true; try { done = QApplication::notify( receiver, event ); } catch ( QgsException & e ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), e.what() ); } catch ( std::exception & e ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), e.what() ); } catch ( ... ) { QMessageBox::critical( activeWindow(), tr( "Exception" ), tr( "unknown exception" ) ); } return done; }