Merge lp:~laney/rhythmbox/rb-2.97-update into lp:~ubuntu-desktop/rhythmbox/ubuntu
- rb-2.97-update
- Merge into ubuntu
Proposed by
Iain Lane
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 173 | ||||
Proposed branch: | lp:~laney/rhythmbox/rb-2.97-update | ||||
Merge into: | lp:~ubuntu-desktop/rhythmbox/ubuntu | ||||
Diff against target: |
1299 lines (+58/-1045) 18 files modified
debian/changelog (+21/-0) debian/control (+1/-0) debian/control.in (+1/-0) debian/patches/02_use_escaped_podcast_uri.patch (+5/-4) debian/patches/03_magnatune_partner.patch (+5/-4) debian/patches/04_pause_button.patch (+13/-13) debian/patches/05_hide_on_quit.patch (+8/-8) debian/patches/06_manual_connect_daap_host.patch (+0/-21) debian/patches/07_quicklists.patch (+3/-3) debian/patches/git_ipod_no_private_source.patch (+0/-161) debian/patches/git_ipod_playlist_handler.patch (+0/-632) debian/patches/git_local_art_search_typo.patch (+0/-23) debian/patches/git_magnatune_dialog_segfault.patch (+0/-24) debian/patches/git_mpris_playlists.patch (+0/-118) debian/patches/git_playlists_sync_segfault.patch (+0/-25) debian/patches/series (+0/-6) debian/rhythmbox-plugins.install (+0/-2) debian/rhythmbox.gsettings-override (+1/-1) |
||||
To merge this branch: | bzr merge lp:~laney/rhythmbox/rb-2.97-update | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Desktop | Pending | ||
Review via email: mp+108536@code.launchpad.net |
Commit message
Description of the change
Update to 2.97
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2012-05-17 23:12:21 +0000 |
3 | +++ debian/changelog 2012-06-04 10:19:20 +0000 |
4 | @@ -1,3 +1,24 @@ |
5 | +rhythmbox (2.97-0ubuntu1) UNRELEASED; urgency=low |
6 | + |
7 | + * New upstream release 2.97 (LP: #1008406) |
8 | + - New more compact header layout, including album art |
9 | + - Deprecated artdisplay plugin |
10 | + - Fixed buffering for network streams |
11 | + - Configurable encoding settings for the library, using GStreamer presets or |
12 | + simple quality settings |
13 | + - Doesn't preserve mtime on metadata updates |
14 | + - Fixed audio CD extraction speed |
15 | + - New podcast subscription interface, including iTunes and Miroguide |
16 | + searching and auditioning before subscription |
17 | + * Drop all git backported packages; in this release. |
18 | + * Drop debian/patches/06_manual_connect_daap_host.patch: upstream and not |
19 | + in series. |
20 | + * Refresh other patches. |
21 | + * Add BD on libxml2-dev, as required by configure. |
22 | + * Adjust packaging for removal of artdisplay. |
23 | + |
24 | + -- Iain Lane <iain.lane@canonical.com> Mon, 04 Jun 2012 10:02:09 +0100 |
25 | + |
26 | rhythmbox (2.96-0ubuntu6) quantal; urgency=low |
27 | |
28 | * debian/rhythmbox.install: |
29 | |
30 | === modified file 'debian/control' |
31 | --- debian/control 2012-05-14 04:30:50 +0000 |
32 | +++ debian/control 2012-06-04 10:19:20 +0000 |
33 | @@ -47,6 +47,7 @@ |
34 | libgnome-keyring-dev, |
35 | libpeas-dev (>= 0.7.3), |
36 | zlib1g-dev, |
37 | + libxml2-dev (>= 2.7.8), |
38 | libxt-dev, |
39 | x11proto-core-dev, |
40 | libgconf2-dev, |
41 | |
42 | === modified file 'debian/control.in' |
43 | --- debian/control.in 2012-05-14 04:30:50 +0000 |
44 | +++ debian/control.in 2012-06-04 10:19:20 +0000 |
45 | @@ -42,6 +42,7 @@ |
46 | libgnome-keyring-dev, |
47 | libpeas-dev (>= 0.7.3), |
48 | zlib1g-dev, |
49 | + libxml2-dev (>= 2.7.8), |
50 | libxt-dev, |
51 | x11proto-core-dev, |
52 | libgconf2-dev, |
53 | |
54 | === modified file 'debian/patches/02_use_escaped_podcast_uri.patch' |
55 | --- debian/patches/02_use_escaped_podcast_uri.patch 2012-03-14 09:14:08 +0000 |
56 | +++ debian/patches/02_use_escaped_podcast_uri.patch 2012-06-04 10:19:20 +0000 |
57 | @@ -1,6 +1,8 @@ |
58 | === modified file 'podcast/rb-podcast-manager.c' |
59 | ---- old/podcast/rb-podcast-manager.c 2012-03-08 20:38:49 +0000 |
60 | -+++ new/podcast/rb-podcast-manager.c 2012-03-08 21:02:02 +0000 |
61 | +Index: rhythmbox-2.97/podcast/rb-podcast-manager.c |
62 | +=================================================================== |
63 | +--- rhythmbox-2.97.orig/podcast/rb-podcast-manager.c 2012-06-04 10:24:44.591435382 +0100 |
64 | ++++ rhythmbox-2.97/podcast/rb-podcast-manager.c 2012-06-04 10:24:55.207434915 +0100 |
65 | @@ -29,6 +29,7 @@ |
66 | #include "config.h" |
67 | |
68 | @@ -9,7 +11,7 @@ |
69 | #define __USE_XOPEN |
70 | #include <time.h> |
71 | |
72 | -@@ -865,9 +866,15 @@ download_podcast (GFileInfo *src_info, R |
73 | +@@ -859,9 +860,15 @@ |
74 | } |
75 | |
76 | if (local_file_name == NULL) { |
77 | @@ -28,4 +30,3 @@ |
78 | } |
79 | |
80 | /* if the filename ends with the query string from the original URI, |
81 | - |
82 | |
83 | === modified file 'debian/patches/03_magnatune_partner.patch' |
84 | --- debian/patches/03_magnatune_partner.patch 2012-03-14 09:14:08 +0000 |
85 | +++ debian/patches/03_magnatune_partner.patch 2012-06-04 10:19:20 +0000 |
86 | @@ -1,7 +1,9 @@ |
87 | === modified file 'plugins/magnatune/MagnatuneSource.py' |
88 | ---- old/plugins/magnatune/MagnatuneSource.py 2012-03-08 20:38:49 +0000 |
89 | -+++ new/plugins/magnatune/MagnatuneSource.py 2012-03-08 21:03:17 +0000 |
90 | -@@ -44,7 +44,7 @@ import MagnatuneAccount |
91 | +Index: rhythmbox-2.97/plugins/magnatune/MagnatuneSource.py |
92 | +=================================================================== |
93 | +--- rhythmbox-2.97.orig/plugins/magnatune/MagnatuneSource.py 2012-06-04 10:24:44.559435384 +0100 |
94 | ++++ rhythmbox-2.97/plugins/magnatune/MagnatuneSource.py 2012-06-04 10:24:55.411434906 +0100 |
95 | +@@ -44,7 +44,7 @@ |
96 | import gettext |
97 | gettext.install('rhythmbox', RB.locale_dir()) |
98 | |
99 | @@ -10,4 +12,3 @@ |
100 | |
101 | # URIs |
102 | magnatune_song_info_uri = "http://magnatune.com/info/song_info_xml.zip" |
103 | - |
104 | |
105 | === modified file 'debian/patches/04_pause_button.patch' |
106 | --- debian/patches/04_pause_button.patch 2011-08-03 15:25:12 +0000 |
107 | +++ debian/patches/04_pause_button.patch 2012-06-04 10:19:20 +0000 |
108 | @@ -5,11 +5,11 @@ |
109 | Author: Bilal Akhtar <bilalakhtar@ubuntu.com> |
110 | Bug-Ubuntu: https://bugs.edge.launchpad.net/hundredpapercuts/+bug/71228 |
111 | Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=326066 |
112 | -Index: rhythmbox-2.90.1~20110802/shell/rb-shell-player.c |
113 | +Index: rhythmbox-2.97/shell/rb-shell-player.c |
114 | =================================================================== |
115 | ---- rhythmbox-2.90.1~20110802.orig/shell/rb-shell-player.c |
116 | -+++ rhythmbox-2.90.1~20110802/shell/rb-shell-player.c |
117 | -@@ -291,6 +291,9 @@ |
118 | +--- rhythmbox-2.97.orig/shell/rb-shell-player.c 2012-06-04 10:24:44.511435386 +0100 |
119 | ++++ rhythmbox-2.97/shell/rb-shell-player.c 2012-06-04 10:24:55.611434898 +0100 |
120 | +@@ -294,6 +294,9 @@ |
121 | |
122 | static GtkActionEntry rb_shell_player_actions [] = |
123 | { |
124 | @@ -19,7 +19,7 @@ |
125 | { "ControlPrevious", GTK_STOCK_MEDIA_PREVIOUS, N_("Pre_vious"), "<alt>Left", |
126 | N_("Start playing the previous song"), |
127 | G_CALLBACK (rb_shell_player_cmd_previous) }, |
128 | -@@ -308,9 +311,6 @@ |
129 | +@@ -311,9 +314,6 @@ |
130 | |
131 | static GtkToggleActionEntry rb_shell_player_toggle_entries [] = |
132 | { |
133 | @@ -29,17 +29,17 @@ |
134 | { "ControlShuffle", GNOME_MEDIA_SHUFFLE, N_("Sh_uffle"), "<control>U", |
135 | N_("Play songs in a random order"), |
136 | G_CALLBACK (rb_shell_player_shuffle_changed_cb) }, |
137 | -@@ -697,9 +697,6 @@ |
138 | - action, "active", |
139 | - G_SETTINGS_BIND_INVERT_BOOLEAN | G_SETTINGS_BIND_NO_SENSITIVITY); |
140 | +@@ -705,9 +705,6 @@ |
141 | + player_settings_changed_cb (player->priv->settings, "transition-time", player); |
142 | + player_settings_changed_cb (player->priv->settings, "play-order", player); |
143 | |
144 | - action = gtk_action_group_get_action (player->priv->actiongroup, |
145 | - "ControlPlay"); |
146 | - g_object_set (action, "is-important", TRUE, NULL); |
147 | |
148 | - player->priv->syncing_state = TRUE; |
149 | - rb_shell_player_set_playing_source (player, NULL); |
150 | -@@ -3777,7 +3774,6 @@ |
151 | + action = gtk_action_group_get_action (player->priv->actiongroup, "ControlPrevious"); |
152 | + g_object_bind_property (player, "has-prev", action, "sensitive", G_BINDING_DEFAULT); |
153 | +@@ -3825,7 +3822,6 @@ |
154 | |
155 | /* sync the active state of the action again */ |
156 | g_object_get (player, "playing", &playing, NULL); |
157 | @@ -47,7 +47,7 @@ |
158 | |
159 | g_signal_handlers_unblock_by_func (action, rb_shell_player_cmd_play, player); |
160 | |
161 | -@@ -3800,11 +3796,17 @@ |
162 | +@@ -3848,11 +3844,17 @@ |
163 | if (playing) { |
164 | if (rb_source_can_pause (player->priv->source)) { |
165 | tooltip = g_strdup (_("Pause playback")); |
166 | @@ -65,7 +65,7 @@ |
167 | } |
168 | g_object_set (action, "tooltip", tooltip, NULL); |
169 | g_free (tooltip); |
170 | -@@ -3816,7 +3818,6 @@ |
171 | +@@ -3864,7 +3866,6 @@ |
172 | if (player->priv->unblock_play_id == 0) { |
173 | g_signal_handlers_block_by_func (action, rb_shell_player_cmd_play, player); |
174 | } |
175 | |
176 | === modified file 'debian/patches/05_hide_on_quit.patch' |
177 | --- debian/patches/05_hide_on_quit.patch 2011-08-03 15:25:12 +0000 |
178 | +++ debian/patches/05_hide_on_quit.patch 2012-06-04 10:19:20 +0000 |
179 | @@ -5,11 +5,11 @@ |
180 | Author: Didier Roche |
181 | Bug-Ubuntu: https://bugs.launchpad.net/bugs/526552 |
182 | |
183 | -Index: rhythmbox-2.90.1~20110802/shell/rb-shell.c |
184 | +Index: rhythmbox-2.97/shell/rb-shell.c |
185 | =================================================================== |
186 | ---- rhythmbox-2.90.1~20110802.orig/shell/rb-shell.c |
187 | -+++ rhythmbox-2.90.1~20110802/shell/rb-shell.c |
188 | -@@ -1915,11 +1915,42 @@ |
189 | +--- rhythmbox-2.97.orig/shell/rb-shell.c 2012-06-04 10:24:44.475435388 +0100 |
190 | ++++ rhythmbox-2.97/shell/rb-shell.c 2012-06-04 10:24:55.827434888 +0100 |
191 | +@@ -2276,11 +2276,42 @@ |
192 | return FALSE; |
193 | } |
194 | |
195 | @@ -52,11 +52,11 @@ |
196 | if (shell->priv->party_mode) { |
197 | return TRUE; |
198 | } |
199 | -Index: rhythmbox-2.90.1~20110802/shell/rb-shell.h |
200 | +Index: rhythmbox-2.97/shell/rb-shell.h |
201 | =================================================================== |
202 | ---- rhythmbox-2.90.1~20110802.orig/shell/rb-shell.h |
203 | -+++ rhythmbox-2.90.1~20110802/shell/rb-shell.h |
204 | -@@ -183,6 +183,8 @@ |
205 | +--- rhythmbox-2.97.orig/shell/rb-shell.h 2012-06-04 10:24:44.475435388 +0100 |
206 | ++++ rhythmbox-2.97/shell/rb-shell.h 2012-06-04 10:24:55.827434888 +0100 |
207 | +@@ -160,6 +160,8 @@ |
208 | |
209 | gboolean rb_shell_get_party_mode (RBShell *shell); |
210 | |
211 | |
212 | === removed file 'debian/patches/06_manual_connect_daap_host.patch' |
213 | --- debian/patches/06_manual_connect_daap_host.patch 2011-05-26 16:45:50 +0000 |
214 | +++ debian/patches/06_manual_connect_daap_host.patch 1970-01-01 00:00:00 +0000 |
215 | @@ -1,21 +0,0 @@ |
216 | -From e710ae5e83a965147b63af9ad6179338de81f20b Mon Sep 17 00:00:00 2001 |
217 | -From: W. Michael Petullo <mike@flyn.org> |
218 | -Date: Wed, 04 May 2011 17:18:44 +0000 |
219 | -Subject: DAAP: allow a user to provide a port for specified server |
220 | - |
221 | -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=649288 |
222 | -Bug-Ubuntu: https://launchpad.net/bugs/665168 |
223 | ---- |
224 | -Index: rhythmbox-0.13.3/plugins/daap/rb-daap-plugin.c |
225 | -=================================================================== |
226 | ---- rhythmbox-0.13.3.orig/plugins/daap/rb-daap-plugin.c 2011-01-16 10:10:40.000000000 +0100 |
227 | -+++ rhythmbox-0.13.3/plugins/daap/rb-daap-plugin.c 2011-05-05 07:27:37.536527475 +0200 |
228 | -@@ -723,7 +723,7 @@ |
229 | - |
230 | - rb_debug ("adding manually specified DAAP share at %s", location); |
231 | - service.name = (char *) location; |
232 | -- service.host = (char *) location; |
233 | -+ service.host = (char *) host; |
234 | - service.port = port; |
235 | - service.password_protected = FALSE; |
236 | - mdns_service_added (NULL, |
237 | |
238 | === modified file 'debian/patches/07_quicklists.patch' |
239 | --- debian/patches/07_quicklists.patch 2012-03-20 12:01:59 +0000 |
240 | +++ debian/patches/07_quicklists.patch 2012-06-04 10:19:20 +0000 |
241 | @@ -1,8 +1,8 @@ |
242 | === modified file 'a/data/rhythmbox.desktop.in.in' |
243 | -Index: rhythmbox-2.95.5/data/rhythmbox.desktop.in.in |
244 | +Index: rhythmbox-2.97/data/rhythmbox.desktop.in.in |
245 | =================================================================== |
246 | ---- rhythmbox-2.95.5.orig/data/rhythmbox.desktop.in.in 2012-02-12 01:13:10.000000000 -0500 |
247 | -+++ rhythmbox-2.95.5/data/rhythmbox.desktop.in.in 2012-03-15 15:08:33.263349627 -0400 |
248 | +--- rhythmbox-2.97.orig/data/rhythmbox.desktop.in.in 2012-06-04 10:24:44.407435390 +0100 |
249 | ++++ rhythmbox-2.97/data/rhythmbox.desktop.in.in 2012-06-04 10:24:56.031434879 +0100 |
250 | @@ -16,3 +16,20 @@ |
251 | X-GNOME-Bugzilla-Component=general |
252 | X-GNOME-Bugzilla-OtherBinaries=rhythmbox-client;rhythmbox-metadata; |
253 | |
254 | === removed file 'debian/patches/git_ipod_no_private_source.patch' |
255 | --- debian/patches/git_ipod_no_private_source.patch 2012-03-16 11:11:59 +0000 |
256 | +++ debian/patches/git_ipod_no_private_source.patch 1970-01-01 00:00:00 +0000 |
257 | @@ -1,161 +0,0 @@ |
258 | -From 63a5411ebd6058c8c6ffc618a8c3ce940c210ecc Mon Sep 17 00:00:00 2001 |
259 | -From: Cole Robinson <crobinso@redhat.com> |
260 | -Date: Mon, 12 Mar 2012 22:43:01 +0000 |
261 | -Subject: ipod: playlist handlers shouldn't need private source access |
262 | - |
263 | -Accomplist this by adding an ipod source method to lookup a track |
264 | -in the private entry_map. |
265 | - |
266 | -Signed-off-by: Cole Robinson <crobinso@redhat.com> |
267 | ---- |
268 | -diff --git a/plugins/ipod/rb-ipod-source.c b/plugins/ipod/rb-ipod-source.c |
269 | -index aea499e..7a23d0c 100644 |
270 | ---- a/plugins/ipod/rb-ipod-source.c |
271 | -+++ b/plugins/ipod/rb-ipod-source.c |
272 | -@@ -594,15 +594,15 @@ playlist_track_removed (RhythmDBQueryModel *m, |
273 | - RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
274 | - Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
275 | - RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
276 | -- RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (ipod); |
277 | -+ RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
278 | - Itdb_Track *track; |
279 | - |
280 | - g_return_if_fail (ipod != NULL); |
281 | - g_return_if_fail (ipod_pl != NULL); |
282 | - |
283 | -- track = g_hash_table_lookup (priv->entry_map, entry); |
284 | -+ track = rb_ipod_source_lookup_track (ipod, entry); |
285 | - g_return_if_fail (track != NULL); |
286 | -- rb_ipod_db_remove_from_playlist (priv->ipod_db, ipod_pl, track); |
287 | -+ rb_ipod_db_remove_from_playlist (ipod_db, ipod_pl, track); |
288 | - } |
289 | - |
290 | - static void |
291 | -@@ -612,7 +612,7 @@ playlist_track_added (GtkTreeModel *model, GtkTreePath *path, |
292 | - RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
293 | - Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
294 | - RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
295 | -- RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (ipod); |
296 | -+ RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
297 | - Itdb_Track *track; |
298 | - RhythmDBEntry *entry; |
299 | - |
300 | -@@ -620,10 +620,10 @@ playlist_track_added (GtkTreeModel *model, GtkTreePath *path, |
301 | - g_return_if_fail (ipod_pl != NULL); |
302 | - |
303 | - gtk_tree_model_get (model, iter, 0, &entry, -1); |
304 | -- track = g_hash_table_lookup (priv->entry_map, entry); |
305 | -+ track = rb_ipod_source_lookup_track (ipod, entry); |
306 | - g_return_if_fail (track != NULL); |
307 | - |
308 | -- rb_ipod_db_add_to_playlist (priv->ipod_db, ipod_pl, track); |
309 | -+ rb_ipod_db_add_to_playlist (ipod_db, ipod_pl, track); |
310 | - } |
311 | - |
312 | - static void |
313 | -@@ -633,7 +633,6 @@ playlist_before_save (RbIpodDb *ipod_db, gpointer data) |
314 | - GtkTreeModel *model = GTK_TREE_MODEL (rb_playlist_source_get_query_model (RB_PLAYLIST_SOURCE (playlist))); |
315 | - Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
316 | - RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
317 | -- RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (ipod); |
318 | - GtkTreeIter iter; |
319 | - |
320 | - if (!rb_ipod_static_playlist_source_get_was_reordered (playlist)) { |
321 | -@@ -650,7 +649,7 @@ playlist_before_save (RbIpodDb *ipod_db, gpointer data) |
322 | - Itdb_Track *track; |
323 | - |
324 | - gtk_tree_model_get (model, &iter, 0, &entry, -1); |
325 | -- track = g_hash_table_lookup (priv->entry_map, entry); |
326 | -+ track = rb_ipod_source_lookup_track (ipod, entry); |
327 | - |
328 | - g_return_if_fail (track != NULL); |
329 | - } while (gtk_tree_model_iter_next (model, &iter)); |
330 | -@@ -675,7 +674,7 @@ playlist_before_save (RbIpodDb *ipod_db, gpointer data) |
331 | - Itdb_Track *track; |
332 | - |
333 | - gtk_tree_model_get (model, &iter, 0, &entry, -1); |
334 | -- track = g_hash_table_lookup (priv->entry_map, entry); |
335 | -+ track = rb_ipod_source_lookup_track (ipod, entry); |
336 | - |
337 | - rb_debug ("adding \"%s\" to \"%s\"", track->title, ipod_pl->name); |
338 | - |
339 | -@@ -692,13 +691,12 @@ playlist_rows_reordered (GtkTreeModel *model, |
340 | - gint *order, gpointer data) |
341 | - { |
342 | - RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
343 | -- RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
344 | -- RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (ipod); |
345 | -+ RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
346 | - |
347 | - /* Mark as reordered; will check before save */ |
348 | - rb_ipod_static_playlist_source_set_was_reordered (playlist, TRUE); |
349 | - |
350 | -- rb_ipod_db_save_async (priv->ipod_db); |
351 | -+ rb_ipod_db_save_async (ipod_db); |
352 | - } |
353 | - |
354 | - static void |
355 | -@@ -2064,6 +2062,16 @@ rb_ipod_source_remove_playlist (RBiPodSource *ipod_source, |
356 | - rb_ipod_db_remove_playlist (priv->ipod_db, rb_ipod_static_playlist_source_get_itdb_playlist (playlist_source)); |
357 | - } |
358 | - |
359 | -+ |
360 | -+Itdb_Track * |
361 | -+rb_ipod_source_lookup_track (RBiPodSource *source, |
362 | -+ RhythmDBEntry *entry) |
363 | -+{ |
364 | -+ RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (source); |
365 | -+ |
366 | -+ return g_hash_table_lookup (priv->entry_map, entry); |
367 | -+} |
368 | -+ |
369 | - static gboolean |
370 | - ipod_name_changed_cb (GtkWidget *widget, |
371 | - GdkEventFocus *event, |
372 | -diff --git a/plugins/ipod/rb-ipod-source.h b/plugins/ipod/rb-ipod-source.h |
373 | -index f95d735..9af5fa3 100644 |
374 | ---- a/plugins/ipod/rb-ipod-source.h |
375 | -+++ b/plugins/ipod/rb-ipod-source.h |
376 | -@@ -71,6 +71,9 @@ void rb_ipod_source_show_properties (RBiPodSource *source); |
377 | - void rb_ipod_source_delete_entries (RBiPodSource *source, |
378 | - GList *entries); |
379 | - |
380 | -+Itdb_Track * rb_ipod_source_lookup_track (RBiPodSource *source, |
381 | -+ RhythmDBEntry *entry); |
382 | -+ |
383 | - G_END_DECLS |
384 | - |
385 | - #endif /* __RB_IPOD_SOURCE_H */ |
386 | -diff --git a/plugins/ipod/rb-ipod-static-playlist-source.c b/plugins/ipod/rb-ipod-static-playlist-source.c |
387 | -index a2f0248..0a95dc8 100644 |
388 | ---- a/plugins/ipod/rb-ipod-static-playlist-source.c |
389 | -+++ b/plugins/ipod/rb-ipod-static-playlist-source.c |
390 | -@@ -262,6 +262,14 @@ rb_ipod_static_playlist_source_get_ipod_source (RBIpodStaticPlaylistSource *play |
391 | - return priv->ipod_source; |
392 | - } |
393 | - |
394 | -+RbIpodDb* |
395 | -+rb_ipod_static_playlist_source_get_ipod_db (RBIpodStaticPlaylistSource *playlist) |
396 | -+{ |
397 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
398 | -+ |
399 | -+ return priv->ipod_db; |
400 | -+} |
401 | -+ |
402 | - gboolean |
403 | - rb_ipod_static_playlist_source_get_was_reordered (RBIpodStaticPlaylistSource *playlist) |
404 | - { |
405 | -diff --git a/plugins/ipod/rb-ipod-static-playlist-source.h b/plugins/ipod/rb-ipod-static-playlist-source.h |
406 | -index 38afff0..49c833f 100644 |
407 | ---- a/plugins/ipod/rb-ipod-static-playlist-source.h |
408 | -+++ b/plugins/ipod/rb-ipod-static-playlist-source.h |
409 | -@@ -56,6 +56,7 @@ RBIpodStaticPlaylistSource * rb_ipod_static_playlist_source_new (RBShell *shell, |
410 | - |
411 | - Itdb_Playlist* rb_ipod_static_playlist_source_get_itdb_playlist (RBIpodStaticPlaylistSource *playlist); |
412 | - RBiPodSource* rb_ipod_static_playlist_source_get_ipod_source (RBIpodStaticPlaylistSource *playlist); |
413 | -+RbIpodDb* rb_ipod_static_playlist_source_get_ipod_db (RBIpodStaticPlaylistSource *playlist); |
414 | - gboolean rb_ipod_static_playlist_source_get_was_reordered (RBIpodStaticPlaylistSource *playlist); |
415 | - void rb_ipod_static_playlist_source_set_was_reordered (RBIpodStaticPlaylistSource *playlist, gboolean was_reordered); |
416 | - |
417 | --- |
418 | -cgit v0.9.0.2 |
419 | |
420 | === removed file 'debian/patches/git_ipod_playlist_handler.patch' |
421 | --- debian/patches/git_ipod_playlist_handler.patch 2012-03-16 11:11:59 +0000 |
422 | +++ debian/patches/git_ipod_playlist_handler.patch 1970-01-01 00:00:00 +0000 |
423 | @@ -1,632 +0,0 @@ |
424 | -From d99a239c500516c792d50712834a2be76c10feb2 Mon Sep 17 00:00:00 2001 |
425 | -From: Jonathan Matthew <jonathan@d14n.org> |
426 | -Date: Wed, 14 Mar 2012 13:16:50 +0000 |
427 | -Subject: ipod: Move all playlist handlers to private playlist code |
428 | - |
429 | -Various other cleanups, removal of the notify::base-query-model |
430 | -signal handler that would never have worked, and stuff moved |
431 | -from impl_delete_thyself to the dispose method where it belongs. |
432 | - |
433 | -based on a patch by Cole Robinson <crobinso@redhat.com> |
434 | ---- |
435 | -diff --git a/plugins/ipod/rb-ipod-plugin.c b/plugins/ipod/rb-ipod-plugin.c |
436 | -index 089c1b4..e0907bc 100644 |
437 | ---- a/plugins/ipod/rb-ipod-plugin.c |
438 | -+++ b/plugins/ipod/rb-ipod-plugin.c |
439 | -@@ -277,14 +277,13 @@ rb_ipod_plugin_cmd_playlist_rename (GtkAction *action, RBSource *source) |
440 | - static void |
441 | - rb_ipod_plugin_cmd_playlist_delete (GtkAction *action, RBSource *source) |
442 | - { |
443 | -- RBIpodStaticPlaylistSource *psource; |
444 | - RBiPodSource *ipod_source; |
445 | - |
446 | - g_return_if_fail (RB_IS_IPOD_STATIC_PLAYLIST_SOURCE (source)); |
447 | -- psource = RB_IPOD_STATIC_PLAYLIST_SOURCE (source); |
448 | - |
449 | -- ipod_source = rb_ipod_static_playlist_source_get_ipod_source (psource); |
450 | -+ g_object_get (source, "ipod-source", &ipod_source, NULL); |
451 | - rb_ipod_source_remove_playlist (ipod_source, source); |
452 | -+ g_object_unref (ipod_source); |
453 | - } |
454 | - |
455 | - static void |
456 | -diff --git a/plugins/ipod/rb-ipod-source.c b/plugins/ipod/rb-ipod-source.c |
457 | -index 7a23d0c..194807c 100644 |
458 | ---- a/plugins/ipod/rb-ipod-source.c |
459 | -+++ b/plugins/ipod/rb-ipod-source.c |
460 | -@@ -587,170 +587,6 @@ ipod_path_to_uri (const char *mount_point, const char *ipod_path) |
461 | - } |
462 | - |
463 | - static void |
464 | --playlist_track_removed (RhythmDBQueryModel *m, |
465 | -- RhythmDBEntry *entry, |
466 | -- gpointer data) |
467 | --{ |
468 | -- RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
469 | -- Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
470 | -- RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
471 | -- RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
472 | -- Itdb_Track *track; |
473 | -- |
474 | -- g_return_if_fail (ipod != NULL); |
475 | -- g_return_if_fail (ipod_pl != NULL); |
476 | -- |
477 | -- track = rb_ipod_source_lookup_track (ipod, entry); |
478 | -- g_return_if_fail (track != NULL); |
479 | -- rb_ipod_db_remove_from_playlist (ipod_db, ipod_pl, track); |
480 | --} |
481 | -- |
482 | --static void |
483 | --playlist_track_added (GtkTreeModel *model, GtkTreePath *path, |
484 | -- GtkTreeIter *iter, gpointer data) |
485 | --{ |
486 | -- RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
487 | -- Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
488 | -- RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
489 | -- RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
490 | -- Itdb_Track *track; |
491 | -- RhythmDBEntry *entry; |
492 | -- |
493 | -- g_return_if_fail (ipod != NULL); |
494 | -- g_return_if_fail (ipod_pl != NULL); |
495 | -- |
496 | -- gtk_tree_model_get (model, iter, 0, &entry, -1); |
497 | -- track = rb_ipod_source_lookup_track (ipod, entry); |
498 | -- g_return_if_fail (track != NULL); |
499 | -- |
500 | -- rb_ipod_db_add_to_playlist (ipod_db, ipod_pl, track); |
501 | --} |
502 | -- |
503 | --static void |
504 | --playlist_before_save (RbIpodDb *ipod_db, gpointer data) |
505 | --{ |
506 | -- RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
507 | -- GtkTreeModel *model = GTK_TREE_MODEL (rb_playlist_source_get_query_model (RB_PLAYLIST_SOURCE (playlist))); |
508 | -- Itdb_Playlist *ipod_pl = rb_ipod_static_playlist_source_get_itdb_playlist (playlist); |
509 | -- RBiPodSource *ipod = rb_ipod_static_playlist_source_get_ipod_source (playlist); |
510 | -- GtkTreeIter iter; |
511 | -- |
512 | -- if (!rb_ipod_static_playlist_source_get_was_reordered (playlist)) { |
513 | -- return; |
514 | -- } |
515 | -- |
516 | -- rb_ipod_static_playlist_source_set_was_reordered (playlist, FALSE); |
517 | -- |
518 | -- /* Sanity check that all tracks are in entry_map */ |
519 | -- |
520 | -- if (gtk_tree_model_get_iter_first (model, &iter)) { |
521 | -- do { |
522 | -- RhythmDBEntry *entry; |
523 | -- Itdb_Track *track; |
524 | -- |
525 | -- gtk_tree_model_get (model, &iter, 0, &entry, -1); |
526 | -- track = rb_ipod_source_lookup_track (ipod, entry); |
527 | -- |
528 | -- g_return_if_fail (track != NULL); |
529 | -- } while (gtk_tree_model_iter_next (model, &iter)); |
530 | -- } |
531 | -- |
532 | -- /* Remove all tracks then re-add in correct order */ |
533 | -- |
534 | -- while (ipod_pl->members != NULL) { |
535 | -- Itdb_Track *track; |
536 | -- |
537 | -- track = (Itdb_Track *)ipod_pl->members->data; |
538 | -- |
539 | -- rb_debug ("removing \"%s\" from \"%s\"", track->title, ipod_pl->name); |
540 | -- |
541 | -- /* Call directly to itdb to avoid scheduling another save */ |
542 | -- itdb_playlist_remove_track (ipod_pl, track); |
543 | -- } |
544 | -- |
545 | -- if (gtk_tree_model_get_iter_first (model, &iter)) { |
546 | -- do { |
547 | -- RhythmDBEntry *entry; |
548 | -- Itdb_Track *track; |
549 | -- |
550 | -- gtk_tree_model_get (model, &iter, 0, &entry, -1); |
551 | -- track = rb_ipod_source_lookup_track (ipod, entry); |
552 | -- |
553 | -- rb_debug ("adding \"%s\" to \"%s\"", track->title, ipod_pl->name); |
554 | -- |
555 | -- /* Call directly to itdb to avoid scheduling another save */ |
556 | -- itdb_playlist_add_track (ipod_pl, track, -1); |
557 | -- } while (gtk_tree_model_iter_next (model, &iter)); |
558 | -- } |
559 | --} |
560 | -- |
561 | --static void |
562 | --playlist_rows_reordered (GtkTreeModel *model, |
563 | -- GtkTreePath *path, |
564 | -- GtkTreeIter *iter, |
565 | -- gint *order, gpointer data) |
566 | --{ |
567 | -- RBIpodStaticPlaylistSource *playlist = RB_IPOD_STATIC_PLAYLIST_SOURCE (data); |
568 | -- RbIpodDb *ipod_db = rb_ipod_static_playlist_source_get_ipod_db (playlist); |
569 | -- |
570 | -- /* Mark as reordered; will check before save */ |
571 | -- rb_ipod_static_playlist_source_set_was_reordered (playlist, TRUE); |
572 | -- |
573 | -- rb_ipod_db_save_async (ipod_db); |
574 | --} |
575 | -- |
576 | --static void |
577 | --playlist_source_model_disconnect_signals (GObject *model, RBIpodStaticPlaylistSource *playlist_source) |
578 | --{ |
579 | -- g_return_if_fail (RB_IS_IPOD_STATIC_PLAYLIST_SOURCE (playlist_source)); |
580 | -- |
581 | -- g_signal_handlers_disconnect_by_func (model, |
582 | -- G_CALLBACK (playlist_track_added), |
583 | -- playlist_source); |
584 | -- g_signal_handlers_disconnect_by_func (model, |
585 | -- G_CALLBACK (playlist_track_removed), |
586 | -- playlist_source); |
587 | -- g_signal_handlers_disconnect_by_func (model, |
588 | -- G_CALLBACK (playlist_rows_reordered), |
589 | -- playlist_source); |
590 | --} |
591 | -- |
592 | --static void |
593 | --playlist_source_model_connect_signals (RBIpodStaticPlaylistSource *playlist_source) |
594 | --{ |
595 | -- RhythmDBQueryModel *model; |
596 | -- |
597 | -- g_return_if_fail (RB_IS_IPOD_STATIC_PLAYLIST_SOURCE (playlist_source)); |
598 | -- |
599 | -- g_object_get (G_OBJECT (playlist_source), |
600 | -- "base-query-model", &model, NULL); |
601 | -- g_signal_connect (model, "row-inserted", |
602 | -- G_CALLBACK (playlist_track_added), |
603 | -- playlist_source); |
604 | -- g_signal_connect (model, "entry-removed", |
605 | -- G_CALLBACK (playlist_track_removed), |
606 | -- playlist_source); |
607 | -- g_signal_connect (model, "rows-reordered", |
608 | -- G_CALLBACK (playlist_rows_reordered), |
609 | -- playlist_source); |
610 | -- g_object_unref (model); |
611 | --} |
612 | -- |
613 | --static void |
614 | --playlist_source_model_changed (GObject *obj, GParamSpec *pspec, gpointer old_model) |
615 | --{ |
616 | -- RBIpodStaticPlaylistSource *playlist_source; |
617 | -- |
618 | -- rb_debug ("base model changed for iPod playlist"); |
619 | -- |
620 | -- playlist_source = RB_IPOD_STATIC_PLAYLIST_SOURCE (obj); |
621 | -- |
622 | -- playlist_source_model_disconnect_signals (G_OBJECT (old_model), playlist_source); |
623 | -- |
624 | -- playlist_source_model_connect_signals (playlist_source); |
625 | --} |
626 | -- |
627 | --static void |
628 | - set_podcast_icon (RBIpodStaticPlaylistSource *source) |
629 | - { |
630 | - GdkPixbuf *pixbuf; |
631 | -@@ -776,7 +612,6 @@ add_rb_playlist (RBiPodSource *source, Itdb_Playlist *playlist) |
632 | - GList *it; |
633 | - RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (source); |
634 | - RhythmDBEntryType *entry_type; |
635 | -- RhythmDBQueryModel *model; |
636 | - |
637 | - g_object_get (source, |
638 | - "shell", &shell, |
639 | -@@ -812,17 +647,6 @@ add_rb_playlist (RBiPodSource *source, Itdb_Playlist *playlist) |
640 | - playlist->userdata_destroy = g_object_unref; |
641 | - playlist->userdata_duplicate = g_object_ref; |
642 | - |
643 | -- g_object_get (G_OBJECT (playlist_source), |
644 | -- "base-query-model", &model, NULL); |
645 | -- g_signal_connect (playlist_source, "notify::base-query-model", |
646 | -- G_CALLBACK (playlist_source_model_changed), |
647 | -- playlist_source); |
648 | -- g_signal_connect (priv->ipod_db, "before-save", |
649 | -- G_CALLBACK (playlist_before_save), |
650 | -- playlist_source); |
651 | -- g_object_unref (model); |
652 | -- playlist_source_model_connect_signals (playlist_source); |
653 | -- |
654 | - if (itdb_playlist_is_podcasts(playlist)) { |
655 | - priv->podcast_pl = playlist_source; |
656 | - set_podcast_icon (playlist_source); |
657 | -@@ -2013,17 +1837,8 @@ impl_delete_thyself (RBDisplayPage *page) |
658 | - Itdb_Playlist *playlist = (Itdb_Playlist *)p->data; |
659 | - if (!itdb_playlist_is_mpl (playlist) && !playlist->is_spl) { |
660 | - RBSource *rb_playlist; |
661 | -- RhythmDBQueryModel *model; |
662 | - |
663 | - rb_playlist = RB_SOURCE (playlist->userdata); |
664 | -- g_object_get (G_OBJECT (rb_playlist), |
665 | -- "base-query-model", &model, NULL); |
666 | -- |
667 | -- /* remove these to ensure they aren't called during source deletion */ |
668 | -- playlist_source_model_disconnect_signals (G_OBJECT (model), |
669 | -- RB_IPOD_STATIC_PLAYLIST_SOURCE (rb_playlist)); |
670 | -- |
671 | -- g_object_unref (model); |
672 | - rb_display_page_delete_thyself (RB_DISPLAY_PAGE (rb_playlist)); |
673 | - } |
674 | - } |
675 | -@@ -2057,9 +1872,12 @@ rb_ipod_source_remove_playlist (RBiPodSource *ipod_source, |
676 | - { |
677 | - RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (ipod_source); |
678 | - RBIpodStaticPlaylistSource *playlist_source = RB_IPOD_STATIC_PLAYLIST_SOURCE (source); |
679 | -+ Itdb_Playlist *playlist; |
680 | - |
681 | - rb_display_page_delete_thyself (RB_DISPLAY_PAGE (source)); |
682 | -- rb_ipod_db_remove_playlist (priv->ipod_db, rb_ipod_static_playlist_source_get_itdb_playlist (playlist_source)); |
683 | -+ |
684 | -+ g_object_get (playlist_source, "itdb-playlist", &playlist, NULL); |
685 | -+ rb_ipod_db_remove_playlist (priv->ipod_db, playlist); |
686 | - } |
687 | - |
688 | - |
689 | -diff --git a/plugins/ipod/rb-ipod-static-playlist-source.c b/plugins/ipod/rb-ipod-static-playlist-source.c |
690 | -index 0a95dc8..261c4c4 100644 |
691 | ---- a/plugins/ipod/rb-ipod-static-playlist-source.c |
692 | -+++ b/plugins/ipod/rb-ipod-static-playlist-source.c |
693 | -@@ -45,11 +45,6 @@ static void rb_ipod_static_playlist_source_get_property (GObject *object, |
694 | - GParamSpec *pspec); |
695 | - |
696 | - static gboolean impl_show_popup (RBDisplayPage *page); |
697 | --static void impl_delete_thyself (RBDisplayPage *page); |
698 | -- |
699 | --static void source_name_changed_cb (RBIpodStaticPlaylistSource *source, |
700 | -- GParamSpec *spec, |
701 | -- gpointer data); |
702 | - |
703 | - typedef struct |
704 | - { |
705 | -@@ -67,10 +62,168 @@ enum { |
706 | - PROP_0, |
707 | - PROP_IPOD_SOURCE, |
708 | - PROP_IPOD_DB, |
709 | -- PROP_ITDB_PLAYLIST, |
710 | -- PROP_WAS_REORDERED |
711 | -+ PROP_ITDB_PLAYLIST |
712 | - }; |
713 | - |
714 | -+static void |
715 | -+playlist_track_removed (RhythmDBQueryModel *m, |
716 | -+ RhythmDBEntry *entry, |
717 | -+ gpointer data) |
718 | -+{ |
719 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (data); |
720 | -+ Itdb_Track *track; |
721 | -+ |
722 | -+ track = rb_ipod_source_lookup_track (priv->ipod_source, entry); |
723 | -+ g_return_if_fail (track != NULL); |
724 | -+ rb_ipod_db_remove_from_playlist (priv->ipod_db, priv->itdb_playlist, track); |
725 | -+} |
726 | -+ |
727 | -+static void |
728 | -+playlist_track_added (GtkTreeModel *model, |
729 | -+ GtkTreePath *path, |
730 | -+ GtkTreeIter *iter, |
731 | -+ gpointer data) |
732 | -+{ |
733 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (data); |
734 | -+ Itdb_Track *track; |
735 | -+ RhythmDBEntry *entry; |
736 | -+ |
737 | -+ gtk_tree_model_get (model, iter, 0, &entry, -1); |
738 | -+ track = rb_ipod_source_lookup_track (priv->ipod_source, entry); |
739 | -+ g_return_if_fail (track != NULL); |
740 | -+ |
741 | -+ rb_ipod_db_add_to_playlist (priv->ipod_db, priv->itdb_playlist, track); |
742 | -+} |
743 | -+ |
744 | -+static void |
745 | -+playlist_before_save (RbIpodDb *ipod_db, gpointer data) |
746 | -+{ |
747 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (data); |
748 | -+ RhythmDBQueryModel *model; |
749 | -+ GtkTreeIter iter; |
750 | -+ |
751 | -+ if (priv->was_reordered == FALSE) |
752 | -+ return; |
753 | -+ priv->was_reordered = FALSE; |
754 | -+ |
755 | -+ /* Sanity check that all tracks are in entry_map */ |
756 | -+ |
757 | -+ g_object_get (G_OBJECT (data), "base-query-model", &model, NULL); |
758 | -+ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter)) { |
759 | -+ do { |
760 | -+ RhythmDBEntry *entry; |
761 | -+ Itdb_Track *track; |
762 | -+ |
763 | -+ gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, 0, &entry, -1); |
764 | -+ track = rb_ipod_source_lookup_track (priv->ipod_source, entry); |
765 | -+ |
766 | -+ g_return_if_fail (track != NULL); |
767 | -+ } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model), &iter)); |
768 | -+ } |
769 | -+ |
770 | -+ /* Remove all tracks then re-add in correct order */ |
771 | -+ |
772 | -+ while (priv->itdb_playlist->members != NULL) { |
773 | -+ Itdb_Track *track; |
774 | -+ |
775 | -+ track = (Itdb_Track *)priv->itdb_playlist->members->data; |
776 | -+ |
777 | -+ rb_debug ("removing \"%s\" from \"%s\"", track->title, priv->itdb_playlist->name); |
778 | -+ |
779 | -+ /* Call directly to itdb to avoid scheduling another save */ |
780 | -+ itdb_playlist_remove_track (priv->itdb_playlist, track); |
781 | -+ } |
782 | -+ |
783 | -+ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter)) { |
784 | -+ do { |
785 | -+ RhythmDBEntry *entry; |
786 | -+ Itdb_Track *track; |
787 | -+ |
788 | -+ gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, 0, &entry, -1); |
789 | -+ track = rb_ipod_source_lookup_track (priv->ipod_source, entry); |
790 | -+ |
791 | -+ rb_debug ("adding \"%s\" to \"%s\"", track->title, priv->itdb_playlist->name); |
792 | -+ |
793 | -+ /* Call directly to itdb to avoid scheduling another save */ |
794 | -+ itdb_playlist_add_track (priv->itdb_playlist, track, -1); |
795 | -+ } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model), &iter)); |
796 | -+ } |
797 | -+ |
798 | -+ g_object_unref (model); |
799 | -+} |
800 | -+ |
801 | -+static void |
802 | -+playlist_rows_reordered (GtkTreeModel *model, |
803 | -+ GtkTreePath *path, |
804 | -+ GtkTreeIter *iter, |
805 | -+ gint *order, |
806 | -+ gpointer data) |
807 | -+{ |
808 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (data); |
809 | -+ priv->was_reordered = TRUE; |
810 | -+ |
811 | -+ rb_ipod_db_save_async (priv->ipod_db); |
812 | -+} |
813 | -+ |
814 | -+static void |
815 | -+playlist_source_model_disconnect_signals (RBIpodStaticPlaylistSource *source) |
816 | -+{ |
817 | -+ RhythmDBQueryModel *model; |
818 | -+ |
819 | -+ g_return_if_fail (RB_IS_IPOD_STATIC_PLAYLIST_SOURCE (source)); |
820 | -+ |
821 | -+ g_object_get (source, "base-query-model", &model, NULL); |
822 | -+ |
823 | -+ g_signal_handlers_disconnect_by_func (model, |
824 | -+ G_CALLBACK (playlist_track_added), |
825 | -+ source); |
826 | -+ g_signal_handlers_disconnect_by_func (model, |
827 | -+ G_CALLBACK (playlist_track_removed), |
828 | -+ source); |
829 | -+ g_signal_handlers_disconnect_by_func (model, |
830 | -+ G_CALLBACK (playlist_rows_reordered), |
831 | -+ source); |
832 | -+ |
833 | -+ g_object_unref (model); |
834 | -+} |
835 | -+ |
836 | -+static void |
837 | -+playlist_source_model_connect_signals (RBIpodStaticPlaylistSource *playlist_source) |
838 | -+{ |
839 | -+ RhythmDBQueryModel *model; |
840 | -+ |
841 | -+ g_return_if_fail (RB_IS_IPOD_STATIC_PLAYLIST_SOURCE (playlist_source)); |
842 | -+ |
843 | -+ g_object_get (playlist_source, "base-query-model", &model, NULL); |
844 | -+ g_signal_connect (model, "row-inserted", |
845 | -+ G_CALLBACK (playlist_track_added), |
846 | -+ playlist_source); |
847 | -+ g_signal_connect (model, "entry-removed", |
848 | -+ G_CALLBACK (playlist_track_removed), |
849 | -+ playlist_source); |
850 | -+ g_signal_connect (model, "rows-reordered", |
851 | -+ G_CALLBACK (playlist_rows_reordered), |
852 | -+ playlist_source); |
853 | -+ g_object_unref (model); |
854 | -+} |
855 | -+ |
856 | -+static void |
857 | -+source_name_changed_cb (RBIpodStaticPlaylistSource *source, |
858 | -+ GParamSpec *spec, |
859 | -+ gpointer data) |
860 | -+{ |
861 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (source); |
862 | -+ char *name; |
863 | -+ |
864 | -+ g_object_get (source, "name", &name, NULL); |
865 | -+ |
866 | -+ if ((priv->itdb_playlist != NULL) && (strcmp (name, priv->itdb_playlist->name) != 0)) { |
867 | -+ rb_debug ("changing playlist name to %s", name); |
868 | -+ rb_ipod_db_rename_playlist (priv->ipod_db, priv->itdb_playlist, name); |
869 | -+ } |
870 | -+ g_free (name); |
871 | -+} |
872 | -+ |
873 | - |
874 | - static void |
875 | - rb_ipod_static_playlist_source_class_init (RBIpodStaticPlaylistSourceClass *klass) |
876 | -@@ -85,7 +238,6 @@ rb_ipod_static_playlist_source_class_init (RBIpodStaticPlaylistSourceClass *klas |
877 | - object_class->set_property = rb_ipod_static_playlist_source_set_property; |
878 | - |
879 | - page_class->show_popup = impl_show_popup; |
880 | -- page_class->delete_thyself = impl_delete_thyself; |
881 | - |
882 | - source_class->impl_can_move_to_trash = (RBSourceFeatureFunc) rb_false_function; |
883 | - source_class->impl_can_delete = (RBSourceFeatureFunc) rb_true_function; |
884 | -@@ -115,13 +267,6 @@ rb_ipod_static_playlist_source_class_init (RBIpodStaticPlaylistSourceClass *klas |
885 | - "itdb-playlist", |
886 | - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); |
887 | - |
888 | -- g_object_class_install_property (object_class, |
889 | -- PROP_WAS_REORDERED, |
890 | -- g_param_spec_pointer ("was-reordered", |
891 | -- "was-reordered", |
892 | -- "was-reordered", |
893 | -- G_PARAM_READWRITE)); |
894 | -- |
895 | - g_type_class_add_private (klass, sizeof (RBIpodStaticPlaylistSourcePrivate)); |
896 | - } |
897 | - |
898 | -@@ -139,20 +284,27 @@ rb_ipod_static_playlist_source_init (RBIpodStaticPlaylistSource *source) |
899 | - static void |
900 | - rb_ipod_static_playlist_source_constructed (GObject *object) |
901 | - { |
902 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (object); |
903 | -+ RhythmDBQueryModel *model; |
904 | -+ |
905 | - RB_CHAIN_GOBJECT_METHOD (rb_ipod_static_playlist_source_parent_class, constructed, object); |
906 | -+ |
907 | - g_signal_connect (object, "notify::name", (GCallback)source_name_changed_cb, NULL); |
908 | --} |
909 | - |
910 | --static void |
911 | --rb_ipod_static_playlist_source_dispose (GObject *object) |
912 | --{ |
913 | -- G_OBJECT_CLASS (rb_ipod_static_playlist_source_parent_class)->dispose (object); |
914 | -+ g_object_get (object, "base-query-model", &model, NULL); |
915 | -+ g_signal_connect (priv->ipod_db, "before-save", |
916 | -+ G_CALLBACK (playlist_before_save), |
917 | -+ object); |
918 | -+ g_object_unref (model); |
919 | -+ playlist_source_model_connect_signals (RB_IPOD_STATIC_PLAYLIST_SOURCE (object)); |
920 | -+ |
921 | - } |
922 | - |
923 | - static void |
924 | --impl_delete_thyself (RBDisplayPage *page) |
925 | -+rb_ipod_static_playlist_source_dispose (GObject *object) |
926 | - { |
927 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (page); |
928 | -+ RBIpodStaticPlaylistSource *source = RB_IPOD_STATIC_PLAYLIST_SOURCE (object); |
929 | -+ RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (object); |
930 | - |
931 | - if (priv->ipod_source) { |
932 | - g_object_unref (priv->ipod_source); |
933 | -@@ -162,8 +314,10 @@ impl_delete_thyself (RBDisplayPage *page) |
934 | - g_object_unref (priv->ipod_db); |
935 | - priv->ipod_db = NULL; |
936 | - } |
937 | -- |
938 | -- RB_DISPLAY_PAGE_CLASS (rb_ipod_static_playlist_source_parent_class)->delete_thyself (page); |
939 | -+ |
940 | -+ playlist_source_model_disconnect_signals (source); |
941 | -+ |
942 | -+ G_OBJECT_CLASS (rb_ipod_static_playlist_source_parent_class)->dispose (object); |
943 | - } |
944 | - |
945 | - RBIpodStaticPlaylistSource * |
946 | -@@ -209,9 +363,6 @@ rb_ipod_static_playlist_source_set_property (GObject *object, |
947 | - case PROP_ITDB_PLAYLIST: |
948 | - priv->itdb_playlist = g_value_get_pointer (value); |
949 | - break; |
950 | -- case PROP_WAS_REORDERED: |
951 | -- priv->was_reordered = g_value_get_boolean (value); |
952 | -- break; |
953 | - default: |
954 | - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
955 | - break; |
956 | -@@ -236,56 +387,12 @@ rb_ipod_static_playlist_source_get_property (GObject *object, |
957 | - case PROP_ITDB_PLAYLIST: |
958 | - g_value_set_pointer (value, priv->itdb_playlist); |
959 | - break; |
960 | -- case PROP_WAS_REORDERED: |
961 | -- g_value_set_boolean (value, priv->was_reordered); |
962 | -- break; |
963 | - default: |
964 | - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
965 | - break; |
966 | - } |
967 | - } |
968 | - |
969 | -- |
970 | --Itdb_Playlist* |
971 | --rb_ipod_static_playlist_source_get_itdb_playlist (RBIpodStaticPlaylistSource *playlist) |
972 | --{ |
973 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
974 | -- |
975 | -- return priv->itdb_playlist; |
976 | --} |
977 | -- |
978 | --RBiPodSource* |
979 | --rb_ipod_static_playlist_source_get_ipod_source (RBIpodStaticPlaylistSource *playlist) |
980 | --{ |
981 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
982 | -- |
983 | -- return priv->ipod_source; |
984 | --} |
985 | -- |
986 | --RbIpodDb* |
987 | --rb_ipod_static_playlist_source_get_ipod_db (RBIpodStaticPlaylistSource *playlist) |
988 | --{ |
989 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
990 | -- |
991 | -- return priv->ipod_db; |
992 | --} |
993 | -- |
994 | --gboolean |
995 | --rb_ipod_static_playlist_source_get_was_reordered (RBIpodStaticPlaylistSource *playlist) |
996 | --{ |
997 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
998 | -- |
999 | -- return priv->was_reordered; |
1000 | --} |
1001 | -- |
1002 | --void |
1003 | --rb_ipod_static_playlist_source_set_was_reordered (RBIpodStaticPlaylistSource *playlist, gboolean was_reordered) |
1004 | --{ |
1005 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (playlist); |
1006 | -- |
1007 | -- priv->was_reordered = was_reordered; |
1008 | --} |
1009 | -- |
1010 | - static gboolean |
1011 | - impl_show_popup (RBDisplayPage *page) |
1012 | - { |
1013 | -@@ -293,23 +400,6 @@ impl_show_popup (RBDisplayPage *page) |
1014 | - return TRUE; |
1015 | - } |
1016 | - |
1017 | --static void |
1018 | --source_name_changed_cb (RBIpodStaticPlaylistSource *source, |
1019 | -- GParamSpec *spec, |
1020 | -- gpointer data) |
1021 | --{ |
1022 | -- RBIpodStaticPlaylistSourcePrivate *priv = IPOD_STATIC_PLAYLIST_SOURCE_GET_PRIVATE (source); |
1023 | -- char *name; |
1024 | -- |
1025 | -- g_object_get (source, "name", &name, NULL); |
1026 | -- |
1027 | -- if ((priv->itdb_playlist != NULL) && (strcmp (name, priv->itdb_playlist->name) != 0)) { |
1028 | -- rb_debug ("changing playlist name to %s", name); |
1029 | -- rb_ipod_db_rename_playlist (priv->ipod_db, priv->itdb_playlist, name); |
1030 | -- } |
1031 | -- g_free (name); |
1032 | --} |
1033 | -- |
1034 | - void |
1035 | - _rb_ipod_static_playlist_source_register_type (GTypeModule *module) |
1036 | - { |
1037 | -diff --git a/plugins/ipod/rb-ipod-static-playlist-source.h b/plugins/ipod/rb-ipod-static-playlist-source.h |
1038 | -index 49c833f..383b447 100644 |
1039 | ---- a/plugins/ipod/rb-ipod-static-playlist-source.h |
1040 | -+++ b/plugins/ipod/rb-ipod-static-playlist-source.h |
1041 | -@@ -54,12 +54,6 @@ RBIpodStaticPlaylistSource * rb_ipod_static_playlist_source_new (RBShell *shell, |
1042 | - Itdb_Playlist *playlist, |
1043 | - RhythmDBEntryType *entry_type); |
1044 | - |
1045 | --Itdb_Playlist* rb_ipod_static_playlist_source_get_itdb_playlist (RBIpodStaticPlaylistSource *playlist); |
1046 | --RBiPodSource* rb_ipod_static_playlist_source_get_ipod_source (RBIpodStaticPlaylistSource *playlist); |
1047 | --RbIpodDb* rb_ipod_static_playlist_source_get_ipod_db (RBIpodStaticPlaylistSource *playlist); |
1048 | --gboolean rb_ipod_static_playlist_source_get_was_reordered (RBIpodStaticPlaylistSource *playlist); |
1049 | --void rb_ipod_static_playlist_source_set_was_reordered (RBIpodStaticPlaylistSource *playlist, gboolean was_reordered); |
1050 | -- |
1051 | - G_END_DECLS |
1052 | - |
1053 | - #endif /* __RB_IPOD_STATIC_PLAYLIST_SOURCE_H */ |
1054 | --- |
1055 | -cgit v0.9.0.2 |
1056 | |
1057 | === removed file 'debian/patches/git_local_art_search_typo.patch' |
1058 | --- debian/patches/git_local_art_search_typo.patch 2012-03-16 11:11:59 +0000 |
1059 | +++ debian/patches/git_local_art_search_typo.patch 1970-01-01 00:00:00 +0000 |
1060 | @@ -1,23 +0,0 @@ |
1061 | -From b1887b43d6543021dd8e6266e6acdbcfb030feda Mon Sep 17 00:00:00 2001 |
1062 | -From: Jonathan Matthew <jonathan@d14n.org> |
1063 | -Date: Mon, 12 Mar 2012 22:42:42 +0000 |
1064 | -Subject: artsearch: fix typo in local search (bug #671950) |
1065 | - |
1066 | -spotted by Patrice Duroux <duroux.patrice@orange.fr> |
1067 | ---- |
1068 | -diff --git a/plugins/artsearch/local.py b/plugins/artsearch/local.py |
1069 | -index a914b1d..819fbaa 100644 |
1070 | ---- a/plugins/artsearch/local.py |
1071 | -+++ b/plugins/artsearch/local.py |
1072 | -@@ -73,7 +73,7 @@ class LocalSearch: |
1073 | - nkey.add_field("artist", artist) |
1074 | - uri = parent.resolve_relative_path(f_name).get_uri() |
1075 | - print "found album+artist match " + uri |
1076 | -- self.store.store_uri(nkey. RB.ExtDBSourceType.USER, uri) |
1077 | -+ self.store.store_uri(nkey, RB.ExtDBSourceType.USER, uri) |
1078 | - |
1079 | - # if that didn't work, look for the longest shared prefix |
1080 | - # only accept matches longer than 2 to avoid weird false positives |
1081 | --- |
1082 | -cgit v0.9.0.2 |
1083 | - |
1084 | |
1085 | === removed file 'debian/patches/git_magnatune_dialog_segfault.patch' |
1086 | --- debian/patches/git_magnatune_dialog_segfault.patch 2012-03-16 11:11:59 +0000 |
1087 | +++ debian/patches/git_magnatune_dialog_segfault.patch 1970-01-01 00:00:00 +0000 |
1088 | @@ -1,24 +0,0 @@ |
1089 | -From 7b344c68e25ec6ac61b4eef15659316d7859ed91 Mon Sep 17 00:00:00 2001 |
1090 | -From: Ole Laursen <olau@hardworking.dk> |
1091 | -Date: Wed, 14 Mar 2012 21:35:48 +0000 |
1092 | -Subject: magnatune: fix crash opening preferences dialog (bug #672084) |
1093 | - |
1094 | ---- |
1095 | -diff --git a/plugins/magnatune/magnatune.py b/plugins/magnatune/magnatune.py |
1096 | -index ce2aeb3..e88f0e2 100644 |
1097 | ---- a/plugins/magnatune/magnatune.py |
1098 | -+++ b/plugins/magnatune/magnatune.py |
1099 | -@@ -214,8 +214,8 @@ class MagnatuneConfig(GObject.GObject, PeasGtk.Configurable): |
1100 | - builder.get_object("stream_account_radio").set_active(account_type == "stream") |
1101 | - builder.get_object("download_account_radio").set_active(account_type == "download") |
1102 | - |
1103 | -- builder.get_object("username_entry").set_text(username) |
1104 | -- builder.get_object("password_entry").set_text(password) |
1105 | -+ builder.get_object("username_entry").set_text(username or "") |
1106 | -+ builder.get_object("password_entry").set_text(password or "") |
1107 | - |
1108 | - update_sensitivity(account_type) |
1109 | - |
1110 | --- |
1111 | -cgit v0.9.0.2 |
1112 | - |
1113 | |
1114 | === removed file 'debian/patches/git_mpris_playlists.patch' |
1115 | --- debian/patches/git_mpris_playlists.patch 2012-04-05 19:23:42 +0000 |
1116 | +++ debian/patches/git_mpris_playlists.patch 1970-01-01 00:00:00 +0000 |
1117 | @@ -1,118 +0,0 @@ |
1118 | -Index: rhythmbox-2.96/sources/rb-display-page-model.c |
1119 | -=================================================================== |
1120 | ---- rhythmbox-2.96.orig/sources/rb-display-page-model.c 2012-03-10 11:22:26.000000000 +0100 |
1121 | -+++ rhythmbox-2.96/sources/rb-display-page-model.c 2012-04-05 21:22:35.725425083 +0200 |
1122 | -@@ -70,6 +70,7 @@ |
1123 | - enum |
1124 | - { |
1125 | - DROP_RECEIVED, |
1126 | -+ PAGE_INSERTED, |
1127 | - LAST_SIGNAL |
1128 | - }; |
1129 | - |
1130 | -@@ -670,6 +671,7 @@ |
1131 | - RB_DISPLAY_PAGE_MODEL_COLUMN_PLAYING, FALSE, |
1132 | - RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, page, |
1133 | - -1); |
1134 | -+ g_signal_emit (G_OBJECT (page_model), rb_display_page_model_signals[PAGE_INSERTED], 0, page, &iter); |
1135 | - |
1136 | - g_signal_connect_object (page, "notify::name", G_CALLBACK (page_notify_cb), page_model, 0); |
1137 | - g_signal_connect_object (page, "notify::visibility", G_CALLBACK (page_notify_cb), page_model, 0); |
1138 | -@@ -872,6 +874,27 @@ |
1139 | - 3, |
1140 | - RB_TYPE_DISPLAY_PAGE, G_TYPE_INT, G_TYPE_POINTER); |
1141 | - |
1142 | -+ /** |
1143 | -+ * RBDisplayPageModel::page-inserted: |
1144 | -+ * @model: the #RBDisplayPageModel |
1145 | -+ * @page: the #RBDisplayPage that was inserted |
1146 | -+ * @iter: a #GtkTreeIter indicating the page position |
1147 | -+ * |
1148 | -+ * Emitted when a new page is inserted into the model. |
1149 | -+ * Use this instead of GtkTreeModel::row-inserted as this |
1150 | -+ * doesn't get complicated by visibility filtering. |
1151 | -+ */ |
1152 | -+ rb_display_page_model_signals[PAGE_INSERTED] = |
1153 | -+ g_signal_new ("page-inserted", |
1154 | -+ G_OBJECT_CLASS_TYPE (object_class), |
1155 | -+ G_SIGNAL_RUN_LAST, |
1156 | -+ G_STRUCT_OFFSET (RBDisplayPageModelClass, page_inserted), |
1157 | -+ NULL, NULL, |
1158 | -+ NULL, |
1159 | -+ G_TYPE_NONE, |
1160 | -+ 2, |
1161 | -+ RB_TYPE_DISPLAY_PAGE, GTK_TYPE_TREE_ITER); |
1162 | -+ |
1163 | - if (!drag_target_list) { |
1164 | - drag_target_list = gtk_target_list_new (dnd_targets, G_N_ELEMENTS (dnd_targets)); |
1165 | - } |
1166 | -Index: rhythmbox-2.96/sources/rb-display-page-model.h |
1167 | -=================================================================== |
1168 | ---- rhythmbox-2.96.orig/sources/rb-display-page-model.h 2012-02-27 11:08:45.000000000 +0100 |
1169 | -+++ rhythmbox-2.96/sources/rb-display-page-model.h 2012-04-05 21:22:35.725425083 +0200 |
1170 | -@@ -67,6 +67,9 @@ |
1171 | - RBDisplayPage *target, |
1172 | - GtkTreeViewDropPosition pos, |
1173 | - GtkSelectionData *data); |
1174 | -+ void (*page_inserted) (RBDisplayPageModel *model, |
1175 | -+ RBDisplayPage *page, |
1176 | -+ GtkTreeIter *iter); |
1177 | - }; |
1178 | - |
1179 | - GType rb_display_page_model_get_type (void); |
1180 | -Index: rhythmbox-2.96/plugins/mpris/rb-mpris-plugin.c |
1181 | -=================================================================== |
1182 | ---- rhythmbox-2.96.orig/plugins/mpris/rb-mpris-plugin.c 2012-03-10 11:22:26.000000000 +0100 |
1183 | -+++ rhythmbox-2.96/plugins/mpris/rb-mpris-plugin.c 2012-04-05 21:22:35.729425083 +0200 |
1184 | -@@ -1346,14 +1346,9 @@ |
1185 | - add_playlist_property_change (plugin, "PlaylistCount", g_variant_new_uint32 (plugin->playlist_count)); |
1186 | - } |
1187 | - |
1188 | --static gboolean |
1189 | --display_page_inserted_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, RBMprisPlugin *plugin) |
1190 | -+static void |
1191 | -+display_page_inserted_cb (RBDisplayPageModel *model, RBDisplayPage *page, GtkTreeIter *iter, RBMprisPlugin *plugin) |
1192 | - { |
1193 | -- RBDisplayPage *page; |
1194 | -- |
1195 | -- gtk_tree_model_get (model, iter, |
1196 | -- RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page, |
1197 | -- -1); |
1198 | - if (RB_IS_PLAYLIST_SOURCE (page)) { |
1199 | - gboolean is_local; |
1200 | - |
1201 | -@@ -1371,11 +1366,19 @@ |
1202 | - g_signal_connect_object (page, "deleted", G_CALLBACK (source_deleted_cb), plugin, 0); |
1203 | - } |
1204 | - } |
1205 | -+} |
1206 | -+ |
1207 | -+static gboolean |
1208 | -+display_page_foreach_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, RBMprisPlugin *plugin) |
1209 | -+{ |
1210 | -+ RBDisplayPage *page; |
1211 | -+ |
1212 | -+ gtk_tree_model_get (model, iter, RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page, -1); |
1213 | -+ display_page_inserted_cb (RB_DISPLAY_PAGE_MODEL (model), page, iter, plugin); |
1214 | - |
1215 | - return FALSE; |
1216 | - } |
1217 | - |
1218 | -- |
1219 | - static void |
1220 | - name_acquired_cb (GDBusConnection *connection, const char *name, RBMprisPlugin *plugin) |
1221 | - { |
1222 | -@@ -1499,11 +1502,11 @@ |
1223 | - G_CALLBACK (elapsed_nano_changed_cb), |
1224 | - plugin, 0); |
1225 | - g_signal_connect_object (plugin->page_model, |
1226 | -- "row-inserted", |
1227 | -+ "page-inserted", |
1228 | - G_CALLBACK (display_page_inserted_cb), |
1229 | - plugin, 0); |
1230 | - gtk_tree_model_foreach (GTK_TREE_MODEL (plugin->page_model), |
1231 | -- (GtkTreeModelForeachFunc) display_page_inserted_cb, |
1232 | -+ (GtkTreeModelForeachFunc) display_page_foreach_cb, |
1233 | - plugin); |
1234 | - |
1235 | - plugin->art_store = rb_ext_db_new ("album-art"); |
1236 | |
1237 | === removed file 'debian/patches/git_playlists_sync_segfault.patch' |
1238 | --- debian/patches/git_playlists_sync_segfault.patch 2012-03-16 11:11:59 +0000 |
1239 | +++ debian/patches/git_playlists_sync_segfault.patch 1970-01-01 00:00:00 +0000 |
1240 | @@ -1,25 +0,0 @@ |
1241 | -From d6127eba18bf088f3a43a3a693cad8691b061d39 Mon Sep 17 00:00:00 2001 |
1242 | -From: Cole Robinson <crobinso@redhat.com> |
1243 | -Date: Mon, 12 Mar 2012 23:10:31 +0000 |
1244 | -Subject: ipod: Fix segfault when syncing playlists (bz 661217) |
1245 | - |
1246 | -Signed-off-by: Cole Robinson <crobinso@redhat.com> |
1247 | ---- |
1248 | -diff --git a/plugins/ipod/rb-ipod-static-playlist-source.c b/plugins/ipod/rb-ipod-static-playlist-source.c |
1249 | -index 261c4c4..d389baa 100644 |
1250 | ---- a/plugins/ipod/rb-ipod-static-playlist-source.c |
1251 | -+++ b/plugins/ipod/rb-ipod-static-playlist-source.c |
1252 | -@@ -311,6 +311,10 @@ rb_ipod_static_playlist_source_dispose (GObject *object) |
1253 | - priv->ipod_source = NULL; |
1254 | - } |
1255 | - if (priv->ipod_db) { |
1256 | -+ g_signal_handlers_disconnect_by_func (priv->ipod_db, |
1257 | -+ G_CALLBACK (playlist_before_save), |
1258 | -+ source); |
1259 | -+ |
1260 | - g_object_unref (priv->ipod_db); |
1261 | - priv->ipod_db = NULL; |
1262 | - } |
1263 | --- |
1264 | -cgit v0.9.0.2 |
1265 | - |
1266 | |
1267 | === modified file 'debian/patches/series' |
1268 | --- debian/patches/series 2012-05-14 04:30:50 +0000 |
1269 | +++ debian/patches/series 2012-06-04 10:19:20 +0000 |
1270 | @@ -3,9 +3,3 @@ |
1271 | 04_pause_button.patch |
1272 | 05_hide_on_quit.patch |
1273 | 07_quicklists.patch |
1274 | -git_local_art_search_typo.patch |
1275 | -git_magnatune_dialog_segfault.patch |
1276 | -git_ipod_no_private_source.patch |
1277 | -git_ipod_playlist_handler.patch |
1278 | -git_playlists_sync_segfault.patch |
1279 | -git_mpris_playlists.patch |
1280 | |
1281 | === modified file 'debian/rhythmbox-plugins.install' |
1282 | --- debian/rhythmbox-plugins.install 2012-03-14 09:14:08 +0000 |
1283 | +++ debian/rhythmbox-plugins.install 2012-06-04 10:19:20 +0000 |
1284 | @@ -1,5 +1,3 @@ |
1285 | -usr/lib/rhythmbox/plugins/artdisplay |
1286 | -usr/share/rhythmbox/plugins/artdisplay |
1287 | usr/lib/rhythmbox/plugins/artsearch |
1288 | usr/lib/rhythmbox/plugins/audioscrobbler |
1289 | usr/share/rhythmbox/plugins/audioscrobbler |
1290 | |
1291 | === modified file 'debian/rhythmbox.gsettings-override' |
1292 | --- debian/rhythmbox.gsettings-override 2011-12-16 12:45:30 +0000 |
1293 | +++ debian/rhythmbox.gsettings-override 2012-06-04 10:19:20 +0000 |
1294 | @@ -2,4 +2,4 @@ |
1295 | monitor-library=true |
1296 | |
1297 | [org.gnome.rhythmbox.plugins] |
1298 | -active-plugins=['artdisplay','audiocd','audioscrobbler','cd-recorder','daap','dbus-media-server','generic-player','ipod','iradio','mmkeys','mpris','mtpdevice','notification','power-manager'] |
1299 | +active-plugins=['audiocd','audioscrobbler','cd-recorder','daap','dbus-media-server','generic-player','ipod','iradio','mmkeys','mpris','mtpdevice','notification','power-manager'] |