mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Fix window close issues
Update docs Make uri scheme registration thread safe
This commit is contained in:
committed by
Travis McLane
parent
a60b198b03
commit
be7c723c47
@@ -23,6 +23,16 @@ Report any issues you find using [this guide](./getting-started/feedback.md).
|
||||
|
||||
- Test all the things on Linux!
|
||||
|
||||
#### Status
|
||||
|
||||
Linux examples:
|
||||
|
||||
- :material-check-bold: - Working
|
||||
- :material-minus: - Partially working
|
||||
- :material-close: - Not working
|
||||
|
||||
{{ read_csv("alpha5.csv") }}
|
||||
|
||||
## Upcoming milestones
|
||||
|
||||
## Alpha 6
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
" ",Mac,Windows,Linux
|
||||
binding,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
build,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
clipboard,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
context menus,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
dialogs,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
drag-n-drop,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
events,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
frameless,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
keybindings,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
plain,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
screen,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
systray,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
video,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
window,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
wml,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
" ",Linux,Notes
|
||||
binding," "," "
|
||||
build," "," "
|
||||
clipboard," "," "
|
||||
context menus," "," "
|
||||
dialogs," "," "
|
||||
drag-n-drop," "," "
|
||||
events,:material-check-bold:," "
|
||||
frameless," "," "
|
||||
keybindings," "," "
|
||||
plain," "," "
|
||||
screen," "," "
|
||||
systray," "," "
|
||||
video," "," "
|
||||
window," "," "
|
||||
wml," "," "
|
||||
|
@@ -1,9 +1,5 @@
|
||||
Scenario,Windows,Mac,Linux
|
||||
Same package,: clipboardLock.RLock()
|
||||
defer clipboardLock.RUnlock()
|
||||
clipboardText := C.getClipboardText()
|
||||
result := C.GoString(clipboardText)
|
||||
return result, true:,:material-check-bold:,:material-check-bold:
|
||||
Same package,:material-check-bold,:material-check-bold:,:material-check-bold:
|
||||
Different package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
Different package with same name,"on hold","on hold","on hold"
|
||||
Containing another struct from same package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
|
||||
|
@@ -0,0 +1,16 @@
|
||||
" ",Mac,Windows,Linux
|
||||
binding,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
build,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
clipboard,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
context menus,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
dialogs,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
drag-n-drop,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
events,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
frameless,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
keybindings,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
plain,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
screen,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
systray,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
video,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
window,:material-check-bold:,:material-check-bold:,:material-minus:
|
||||
wml,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||
|
@@ -7,6 +7,7 @@ import (
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver/webview"
|
||||
"regexp"
|
||||
"strings"
|
||||
"sync"
|
||||
"unsafe"
|
||||
|
||||
"github.com/wailsapp/wails/v3/pkg/events"
|
||||
@@ -192,6 +193,8 @@ var (
|
||||
mainThreadId *C.GThread
|
||||
)
|
||||
|
||||
var registerURIScheme sync.Once
|
||||
|
||||
func init() {
|
||||
gtkSignalToMenuItem = map[uint]*MenuItem{}
|
||||
|
||||
@@ -840,13 +843,15 @@ func windowNewWebview(parentId uint, gpuPolicy WebviewGpuPolicy) pointer {
|
||||
C.g_object_set_data((*C.GObject)(unsafe.Pointer(webView)), c.String("windowid"), C.gpointer(winID))
|
||||
C.g_object_set_data((*C.GObject)(unsafe.Pointer(manager)), c.String("windowid"), C.gpointer(winID))
|
||||
|
||||
context := C.webkit_web_view_get_context(C.webkit_web_view(webView))
|
||||
C.webkit_web_context_register_uri_scheme(
|
||||
context,
|
||||
c.String("wails"),
|
||||
C.WebKitURISchemeRequestCallback(C.onProcessRequest),
|
||||
nil,
|
||||
nil)
|
||||
registerURIScheme.Do(func() {
|
||||
context := C.webkit_web_view_get_context(C.webkit_web_view(webView))
|
||||
C.webkit_web_context_register_uri_scheme(
|
||||
context,
|
||||
c.String("wails"),
|
||||
C.WebKitURISchemeRequestCallback(C.onProcessRequest),
|
||||
nil,
|
||||
nil)
|
||||
})
|
||||
settings := C.webkit_web_view_get_settings((*C.WebKitWebView)(unsafe.Pointer(webView)))
|
||||
C.webkit_settings_set_user_agent_with_application_details(settings, c.String("wails.io"), c.String(""))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user