diff options
-rw-r--r-- | lib/hyprland/hyprland.vala | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/hyprland/hyprland.vala b/lib/hyprland/hyprland.vala index 3886486..ea95cab 100644 --- a/lib/hyprland/hyprland.vala +++ b/lib/hyprland/hyprland.vala @@ -158,43 +158,43 @@ public class Hyprland : Object { out DataInputStream stream ) throws Error { conn = connection("socket"); - conn.output_stream.write(message.data, null); - stream = new DataInputStream(conn.input_stream); + if (conn != null) { + conn.output_stream.write(message.data, null); + stream = new DataInputStream(conn.input_stream); + } else { + stream = null; + critical("could not write to the Hyprland socket"); + } } public string message(string message) { - SocketConnection conn; - DataInputStream stream; + SocketConnection? conn; + DataInputStream? stream; try { write_socket(message, out conn, out stream); - return stream.read_upto("\x04", -1, null, null); + if (stream != null && conn != null) { + var res = stream.read_upto("\x04", -1, null, null); + conn.close(null); + return res; + } } catch (Error err) { critical(err.message); - } finally { - try { - if (conn != null) - conn.close(null); - } catch (Error err) { - critical(err.message); - } } return ""; } public async string message_async(string message) { - SocketConnection conn; - DataInputStream stream; + SocketConnection? conn; + DataInputStream? stream; try { write_socket(message, out conn, out stream); - return yield stream.read_upto_async("\x04", -1, Priority.DEFAULT, null, null); - } catch (Error err) { - critical(err.message); - } finally { - try { + if (stream != null && conn != null) { + var res = yield stream.read_upto_async("\x04", -1, Priority.DEFAULT, null, null); conn.close(null); - } catch (Error err) { - critical(err.message); + return res; } + } catch (Error err) { + critical(err.message); } return ""; } |