[banshee] PlayerInterface: kill Gtk CRITICAL in the console at shutdown (bgo#710266)



commit dae6be2d04662b4f9c17261213c394aa635580bf
Author: Andrés G. Aragoneses <knocte gmail com>
Date:   Wed Oct 16 14:39:52 2013 +0200

    PlayerInterface: kill Gtk CRITICAL in the console at shutdown (bgo#710266)
    
    When pausing a video and closing banshee, a CRITICAL from GTK was
    being thrown in the console because Nereid's PlayerInterface was
    still subscribed to some Service events even after disposed, which
    in turn would cause sending some disposed widget's pointer (NULL)
    to Gtk.
    
    The fix is to unsubscribe from this events in the Dispose() method.
    
    This is the second and last fix for BGO#710266.

 src/Clients/Nereid/Nereid/PlayerInterface.cs |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/src/Clients/Nereid/Nereid/PlayerInterface.cs b/src/Clients/Nereid/Nereid/PlayerInterface.cs
index a07c320..c5d162c 100644
--- a/src/Clients/Nereid/Nereid/PlayerInterface.cs
+++ b/src/Clients/Nereid/Nereid/PlayerInterface.cs
@@ -158,6 +158,9 @@ namespace Nereid
         protected override void Dispose (bool disposing)
         {
             lock (this) {
+                ServiceManager.SourceManager.ActiveSourceChanged -= OnActiveSourceChanged;
+                ServiceManager.SourceManager.SourceUpdated -= OnSourceUpdated;
+
                 if (disposing) {
                     Hide ();
                 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]