From c00ff2cea563c0ad954b5243a0f5969035f211eb Mon Sep 17 00:00:00 2001 From: "Stanislav N. aka pztrn" Date: Mon, 21 Nov 2016 02:49:05 +0500 Subject: [PATCH] Check window position and size and hpane size in glib thread. --- ui/mainwindow.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/mainwindow.go b/ui/mainwindow.go index 009f81f..6c00cfb 100644 --- a/ui/mainwindow.go +++ b/ui/mainwindow.go @@ -160,17 +160,23 @@ func (m *MainWindow) addToFavorites() { // Executes when delimiter for two panes is moved, to calculate VALID // position. func (m *MainWindow) checkMainPanePosition() { - m.pane_negative_position = m.window_width - m.hpane.GetPosition() + glib.IdleAdd(func() { + m.pane_negative_position = m.window_width - m.hpane.GetPosition() + return false + }) } // Executes when main window is moved or resized. // Also calculating pane delimiter position and set it to avoid // widgets hell :). func (m *MainWindow) checkPositionAndSize() { - m.window.GetPosition(&m.window_pos_x, &m.window_pos_y) - m.window.GetSize(&m.window_width, &m.window_height) + glib.IdleAdd(func() { + m.window.GetPosition(&m.window_pos_x, &m.window_pos_y) + m.window.GetSize(&m.window_width, &m.window_height) - m.hpane.SetPosition(m.window_width - m.pane_negative_position) + m.hpane.SetPosition(m.window_width - m.pane_negative_position) + return false + }) } // Executes on URTrator shutdown.