[beast: 6/26] BEAST: always update track roll rows when tracks are deleted



commit 207359d8fc5bcab7d15074e4e9d817435c4646e5
Author: Tim Janik <timj gnu org>
Date:   Wed Jul 1 03:08:50 2015 +0200

    BEAST: always update track roll rows when tracks are deleted

 beast-gtk/bsttrackroll.cc |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/beast-gtk/bsttrackroll.cc b/beast-gtk/bsttrackroll.cc
index 3baf9b1..51dd4a6 100644
--- a/beast-gtk/bsttrackroll.cc
+++ b/beast-gtk/bsttrackroll.cc
@@ -168,10 +168,18 @@ track_roll_get_layout (GxkScrollCanvas        *scc,
 }
 
 static void
+track_roll_song_item_removed (BstTrackRoll *self)
+{
+  g_return_if_fail (BST_IS_TRACK_ROLL (self));
+  bst_track_roll_queue_row_change (self, -1);
+}
+
+static void
 track_roll_release_proxy (BstTrackRoll *self)
 {
   bse_proxy_disconnect (self->proxy,
                         "any_signal", track_roll_release_proxy, self,
+                        "any_signal", track_roll_song_item_removed, self,
                         NULL);
   bse_item_unuse (self->proxy);
   self->proxy = 0;
@@ -210,6 +218,7 @@ bst_track_roll_setup (BstTrackRoll   *self,
       bse_item_use (self->proxy);
       bse_proxy_connect (self->proxy,
                          "swapped_signal::release", track_roll_release_proxy, self,
+                         "swapped_signal::item-remove", track_roll_song_item_removed, self,
                          NULL);
     }
   track_roll_update_layout (self, TRUE);


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