From 33155f7496a818a1ed83fe49cccb63be7842bc81 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 30 Jun 2014 09:57:44 -0400 Subject: Reverted everything back to the old API. --- lineedit.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lineedit.go') diff --git a/lineedit.go b/lineedit.go index 56ac97c..a45a443 100644 --- a/lineedit.go +++ b/lineedit.go @@ -2,8 +2,13 @@ package ui +import ( + "sync" +) + // A LineEdit is a control which allows you to enter a single line of text. type LineEdit struct { + lock sync.Mutex created bool sysData *sysData initText string @@ -28,6 +33,9 @@ func NewPasswordEdit() *LineEdit { // SetText sets the LineEdit's text. func (l *LineEdit) SetText(text string) { + l.lock.Lock() + defer l.lock.Unlock() + if l.created { l.sysData.setText(text) return @@ -37,6 +45,9 @@ func (l *LineEdit) SetText(text string) { // Text returns the LineEdit's text. func (l *LineEdit) Text() string { + l.lock.Lock() + defer l.lock.Unlock() + if l.created { return l.sysData.text() } @@ -44,6 +55,9 @@ func (l *LineEdit) Text() string { } func (l *LineEdit) make(window *sysData) error { + l.lock.Lock() + defer l.lock.Unlock() + l.sysData.alternate = l.password err := l.sysData.make(window) if err != nil { -- cgit v1.2.3