summaryrefslogtreecommitdiff
path: root/src/nigui/private/gtk3
diff options
context:
space:
mode:
Diffstat (limited to 'src/nigui/private/gtk3')
-rwxr-xr-xsrc/nigui/private/gtk3/gtk3.nim2
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim10
2 files changed, 6 insertions, 6 deletions
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