-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107573/
-----------------------------------------------------------

(Updated Dec. 4, 2012, 11:36 a.m.)


Review request for Nepomuk, Sebastian Trueg and Simeon Bird.


Description (updated)
-------

    ResourceWatcher: Do no create a new ResourceManager on quit
    
    The ResourceManager contains a ResourceWatcher. This ResourceWatcher is
    initialized only when a Resource class requires it. On destruction it
    calls ResourceWatcher::stop, which tries to disconnect it from
    ResourceManager::nepomukSystemStarted signal.
    
    The problem arises when the application is exiting, and the
    ResourceManager (being a child of QCoreApplication) is being destroyed.
    It in turn destroys the ResourceWatcher, which calls
    ResourceWatcher::stop, which calls ResourceManager::instance() which
    results in the creation of a new ResourceManager whose parent is
    QCoreApplication::instance, which is 0, cause the application is
    shutting down.
    
    This whole extra ResourceManager being allocated is not required and can
    be avoided by checking if QCoreApplication != 0, in
    ResourceManager::instance.
    
    Also, since ResourceManager::instance() can now return 0. I've added an
    assert check in the Resource class.


Diffs
-----

  libnepomukcore/datamanagement/resourcewatcher.cpp a09b646 
  libnepomukcore/resource/resource.cpp 4601eba 
  libnepomukcore/resource/resourcemanager.cpp 457c042 

Diff: http://git.reviewboard.kde.org/r/107573/diff/


Testing
-------

Added breakpoints in gdb, and wrote a simple application. The extra 
ResourceManager is no longer being created.


Thanks,

Vishesh Handa

_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk

Reply via email to