]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/gui/gtk/JubGtkChatUI.h
Handle closing chat windows, fix a race and a retain cycle in the process
[jubjub.git] / src / gui / gtk / JubGtkChatUI.h
index 5c0addb67f3094b454100a027d6bcec84dcabdf4..1c35681f8b48de05686f9af5f4128ccac4968dd0 100644 (file)
@@ -3,17 +3,24 @@
 #include <gtk/gtk.h>
 
 typedef void (^jub_send_block_t)(OFString *);
+typedef void (^jub_close_block_t)(void);
 
 @interface JubGtkChatUI: OFObject
 {
        GtkWidget *chat_window;
        GtkTextBuffer *chat_buffer;
        jub_send_block_t sendBlock;
+       jub_close_block_t closeBlock;
        BOOL bufferEmpty;
 }
+@property (assign) GtkWidget *chat_window;
+@property (assign) GtkTextBuffer * chat_buffer;
+@property (readonly) jub_send_block_t sendBlock;
+@property (readonly) jub_close_block_t closeBlock;
 
 - initWithTitle: (OFString*)title
-      sendBlock: (jub_send_block_t)sendBlock_;
+     closeBlock: (jub_close_block_t)closeBlock
+      sendBlock: (jub_send_block_t)sendBlock;
 
 - (void)addMessage: (OFString*)text
            sender: (OFString*)sender;