Skip to content

Commit 9f9d008

Browse files
committed
Fix uncaught error when saving a new playlist
1 parent c5cbbcc commit 9f9d008

3 files changed

Lines changed: 7 additions & 13 deletions

File tree

src/Application.vala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,8 @@ public class Music.Application : Gtk.Application {
151151
continue;
152152
}
153153
else if (PlaylistObject.is_playlist (file)) {
154-
PlaylistObject playlist = new PlaylistObject.with_file (file);
154+
PlaylistObject playlist = new PlaylistObject (file);
155+
playlist.load_playlist ();
155156

156157
foreach (File playlist_file in playlist.get_uri_list ()) {
157158
elements += playlist_file;

src/PlaybackManager.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ public class Music.PlaybackManager : Object {
419419
File? file;
420420
file = save_dialog.save.end (res);
421421

422-
PlaylistObject playlist = new PlaylistObject.with_file (file);
422+
PlaylistObject playlist = new PlaylistObject (file);
423423
playlist.save_playlist (queue_liststore);
424424
} catch (Error err) {
425425
if (err.matches (Gtk.DialogError.quark (), Gtk.DialogError.DISMISSED)) {

src/PlaylistObject.vala

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,10 @@ public class Music.PlaylistObject : Object {
77
public File playlist_file { get; construct; }
88
private File[] uri_list = {};
99

10-
public PlaylistObject () {}
11-
12-
13-
public PlaylistObject.with_file (File playlist) {
10+
public PlaylistObject (File playlist) {
1411
Object (playlist_file: playlist);
1512
}
1613

17-
construct {
18-
load_playlist (playlist_file);
19-
}
20-
2114
public static bool is_playlist (File playlist) {
2215
FileInfo info;
2316

@@ -43,8 +36,8 @@ public class Music.PlaylistObject : Object {
4336
return uri_list;
4437
}
4538

46-
private void load_playlist (File playlist) {
47-
FileInputStream fis = playlist.read ();
39+
public void load_playlist () requires (playlist_file != null) {
40+
FileInputStream fis = playlist_file.read ();
4841
DataInputStream dis = new DataInputStream (fis);
4942
string current_line;
5043

@@ -61,7 +54,7 @@ public class Music.PlaylistObject : Object {
6154
}
6255
}
6356

64-
public void save_playlist (ListStore queue) {
57+
public void save_playlist (ListStore queue) requires (playlist_file != null) {
6558
FileOutputStream fos = playlist_file.replace (null, false, GLib.FileCreateFlags.REPLACE_DESTINATION);
6659
DataOutputStream dos = new DataOutputStream (fos);
6760

0 commit comments

Comments
 (0)