diff options
author | dec05eba <dec05eba@protonmail.com> | 2019-01-12 20:39:23 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2019-01-12 20:39:26 +0100 |
commit | daa59b89b1f05cf3a2abdee9ef5ac8bffe805b13 (patch) | |
tree | 4b027770beec143d9e514819b6ca30d4a9695eab /include | |
parent | fe4199dace73ee38262528f7ae88cbfba99120dd (diff) |
Fix multithreading crashes
Diffstat (limited to 'include')
-rw-r--r-- | include/ChatWindow.hpp | 4 | ||||
-rw-r--r-- | include/Window.hpp | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/include/ChatWindow.hpp b/include/ChatWindow.hpp index 764ca32..1ca473b 100644 --- a/include/ChatWindow.hpp +++ b/include/ChatWindow.hpp @@ -65,6 +65,8 @@ namespace dchat { Gtk::Grid *leftPanelUsersLayout; Gtk::Grid *messageAreaLayout; + uint numMessages; + uint numUsers; Gtk::RadioButton *button; }; @@ -76,4 +78,4 @@ namespace dchat bool chatInputShowPlaceholder; bool chatInputChangeByPlaceholder; }; -}
\ No newline at end of file +} diff --git a/include/Window.hpp b/include/Window.hpp index 645b578..b33605b 100644 --- a/include/Window.hpp +++ b/include/Window.hpp @@ -10,6 +10,7 @@ #include <mutex> #include <random> #include <vector> +#include <future> #include <glibmm/dispatcher.h> namespace dchat @@ -33,6 +34,7 @@ namespace dchat void draw(const Cairo::RefPtr<Cairo::Context> &cairo) { Gtk::Overlay::draw(cairo); } }; + std::thread::id mainThreadId; std::mutex databaseCallbackMutex; OverlayDrawable overlay; Gtk::Stack stack; @@ -58,7 +60,7 @@ namespace dchat sigc::connection drawBackgroundConnection; Glib::Dispatcher dispatcher; - std::mutex dispatcherMutex; + std::recursive_mutex dispatcherMutex; std::vector<DispatcherHandler> dispatcherHandlers; }; -}
\ No newline at end of file +} |