summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/nigui.nim8
-rwxr-xr-xsrc/nigui/private/gtk3/gtk3.nim2
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim10
3 files changed, 10 insertions, 10 deletions
diff --git a/src/nigui.nim b/src/nigui.nim
index 41b135a..7f64f95 100755
--- a/src/nigui.nim
+++ b/src/nigui.nim
@@ -501,9 +501,9 @@ method endPixelDataAccess*(image: Image)
# Window
# ----------------------------------------------------------------------------------------
-proc newWindow*(title: string = nil): Window
+proc newWindow*(title: string = ""): Window
## Constructor for a Window object.
-## If the title is nil, it will be set to the application filename.
+## If the title is empty, it will be set to the application filename.
proc init*(window: WindowImpl)
## Initialize a WindowImpl object
@@ -1149,10 +1149,10 @@ method canvas(image: Image): Canvas = image.fCanvas
# Window
# ----------------------------------------------------------------------------------------
-proc newWindow(title: string = nil): Window =
+proc newWindow(title: string = ""): Window =
result = new WindowImpl
result.WindowImpl.init()
- if title != nil:
+ if title != "":
result.title = title
diff --git a/src/nigui/private/gtk3/gtk3.nim b/src/nigui/private/gtk3/gtk3.nim
index 156f98c..32d052f 100755
--- a/src/nigui/private/gtk3/gtk3.nim
+++ b/src/nigui/private/gtk3/gtk3.nim
@@ -299,7 +299,7 @@ proc gtk_dialog_add_button*(dialog: pointer, button_text: cstring, response_id:
proc gtk_dialog_get_content_area*(dialog: pointer): pointer {.importc: "gtk_dialog_get_content_area", libgtk3.}
proc gtk_dialog_get_action_area*(dialog: pointer): pointer {.importc: "gtk_dialog_get_action_area", libgtk3.}
-proc gtk_file_chooser_dialog_new*(title: string, parent: pointer, action: int, text1: cstring, response1: int, text2: cstring, response2: int, ending: pointer): pointer {.importc: "gtk_file_chooser_dialog_new", libgtk3.}
+proc gtk_file_chooser_dialog_new*(title: cstring, parent: pointer, action: int, text1: cstring, response1: int, text2: cstring, response2: int, ending: pointer): pointer {.importc: "gtk_file_chooser_dialog_new", libgtk3.}
proc gtk_file_chooser_set_current_name*(chooser: pointer, name: cstring): bool {.importc: "gtk_file_chooser_set_current_name", libgtk3.}
proc gtk_file_chooser_get_filename*(chooser: pointer): cstring {.importc: "gtk_file_chooser_get_filename", libgtk3.}
proc gtk_file_chooser_get_filenames*(chooser: pointer): pointer {.importc: "gtk_file_chooser_get_filenames", libgtk3.}
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim
index 57766e2..c66dfba 100755
--- a/src/nigui/private/gtk3/platform_impl.nim
+++ b/src/nigui/private/gtk3/platform_impl.nim
@@ -22,6 +22,7 @@ var pLastMouseButtonDownControlY: int
var pClipboardPtr: pointer
var pClipboardText: string
+var pClipboardTextIsSet: bool
proc pRaiseGError(error: ptr GError) =
if error == nil:
@@ -288,14 +289,13 @@ proc processEvents(app: App) =
discard gtk_main_iteration()
proc pClipboardTextReceivedFunc(clipboard: pointer, text: cstring, data: pointer): bool {.cdecl.} =
- pClipboardText = $text
- if pClipboardText == nil:
- pClipboardText = ""
+ pClipboardText = $text # string needs to be copied
+ pClipboardTextIsSet = true
proc clipboardText(app: App): string =
- pClipboardText = nil
+ pClipboardTextIsSet = false
gtk_clipboard_request_text(pClipboardPtr, pClipboardTextReceivedFunc, nil)
- while pClipboardText == nil:
+ while not pClipboardTextIsSet:
discard gtk_main_iteration()
result = pClipboardText