aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cpp')
-rw-r--r--src/Window.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/Window.cpp b/src/Window.cpp
index 1344429..5991bb3 100644
--- a/src/Window.cpp
+++ b/src/Window.cpp
@@ -42,7 +42,8 @@ namespace dchat
}
Window::Window() :
- chatWindow(this)
+ chatWindow(this),
+ needUpdate(false)
{
set_border_width(0);
windowNotification = Gtk::manage(new WindowNotification());
@@ -239,6 +240,13 @@ namespace dchat
{
dispatcherHandler();
}
+
+ if(needUpdate)
+ {
+ needUpdate = false;
+ fprintf(stderr, "Redraw!\n");
+ queue_draw();
+ }
});
Rooms::connect(bootstrapNode->c_str(), 27130, roomCallbackFuncs);
@@ -281,6 +289,15 @@ namespace dchat
}
+ void Window::refresh()
+ {
+ if(needUpdate)
+ return;
+
+ needUpdate = true;
+ dispatcher.emit();
+ }
+
void Window::dispatchFunction(DispatcherHandler func)
{
std::lock_guard<std::recursive_mutex> lock(dispatcherMutex);