summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-10-14 11:40:09 +0200
committerGitHub <[email protected]>2024-10-14 11:40:09 +0200
commitbdb23e20f171da7c769cba9e393d7e406e563a78 (patch)
tree93a217d0eba41c59cbd6e89de1504d4a831f0a6b
parent7adf558f7666c92424af1cd825653f9b0ba406fe (diff)
parentf8745db77f62c743496a6b22211a4ac1ca7c86e3 (diff)
Merge pull request #44 from 0x6e6174/main
check that conn is not null in Hyprland.write_socket() prior to setting output values
-rw-r--r--lib/hyprland/hyprland.vala42
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 "";
}