fixed error formatting
This commit is contained in:
19
.github/workflows/build.yml
vendored
19
.github/workflows/build.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.24.3'
|
go-version: '1.21'
|
||||||
|
|
||||||
- name: Install Fyne dependencies
|
- name: Install Fyne dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -26,6 +26,12 @@ jobs:
|
|||||||
- name: Install Fyne CLI
|
- name: Install Fyne CLI
|
||||||
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
run: go install fyne.io/fyne/v2/cmd/fyne@latest
|
||||||
|
|
||||||
|
- name: Set environment variables
|
||||||
|
run: |
|
||||||
|
echo "CGO_ENABLED=1" >> $GITHUB_ENV
|
||||||
|
echo "GOOS=darwin" >> $GITHUB_ENV
|
||||||
|
echo "GOARCH=arm64" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Cache Go modules
|
- name: Cache Go modules
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
@@ -40,6 +46,17 @@ jobs:
|
|||||||
- name: Verify dependencies
|
- name: Verify dependencies
|
||||||
run: go mod verify
|
run: go mod verify
|
||||||
|
|
||||||
|
- name: Check code formatting
|
||||||
|
run: |
|
||||||
|
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then
|
||||||
|
echo "Code is not properly formatted. Please run 'gofmt -s -w .'"
|
||||||
|
gofmt -s -l .
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Run go vet
|
||||||
|
run: go vet ./...
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: go test -v ./...
|
run: go test -v ./...
|
||||||
|
|
||||||
|
@@ -3,4 +3,4 @@
|
|||||||
Name = "TurtleSilicon"
|
Name = "TurtleSilicon"
|
||||||
ID = "com.tairasu.turtlesilicon"
|
ID = "com.tairasu.turtlesilicon"
|
||||||
Version = "1.1.2"
|
Version = "1.1.2"
|
||||||
Build = 25
|
Build = 26
|
||||||
|
8
go.mod
8
go.mod
@@ -1,8 +1,11 @@
|
|||||||
module turtlesilicon
|
module turtlesilicon
|
||||||
|
|
||||||
go 1.24.3
|
go 1.21
|
||||||
|
|
||||||
require fyne.io/fyne/v2 v2.6.1
|
require (
|
||||||
|
fyne.io/fyne/v2 v2.6.1
|
||||||
|
github.com/zalando/go-keyring v0.2.6
|
||||||
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
al.essio.dev/pkg/shellescape v1.5.1 // indirect
|
al.essio.dev/pkg/shellescape v1.5.1 // indirect
|
||||||
@@ -34,7 +37,6 @@ require (
|
|||||||
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
||||||
github.com/stretchr/testify v1.10.0 // indirect
|
github.com/stretchr/testify v1.10.0 // indirect
|
||||||
github.com/yuin/goldmark v1.7.8 // indirect
|
github.com/yuin/goldmark v1.7.8 // indirect
|
||||||
github.com/zalando/go-keyring v0.2.6 // indirect
|
|
||||||
golang.org/x/image v0.24.0 // indirect
|
golang.org/x/image v0.24.0 // indirect
|
||||||
golang.org/x/net v0.35.0 // indirect
|
golang.org/x/net v0.35.0 // indirect
|
||||||
golang.org/x/sys v0.30.0 // indirect
|
golang.org/x/sys v0.30.0 // indirect
|
||||||
|
4
go.sum
4
go.sum
@@ -39,6 +39,8 @@ github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
|||||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y=
|
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y=
|
||||||
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
|
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
|
||||||
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
|
||||||
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
||||||
github.com/hack-pad/go-indexeddb v0.3.2 h1:DTqeJJYc1usa45Q5r52t01KhvlSN02+Oq+tQbSBI91A=
|
github.com/hack-pad/go-indexeddb v0.3.2 h1:DTqeJJYc1usa45Q5r52t01KhvlSN02+Oq+tQbSBI91A=
|
||||||
github.com/hack-pad/go-indexeddb v0.3.2/go.mod h1:QvfTevpDVlkfomY498LhstjwbPW6QC4VC/lxYb0Kom0=
|
github.com/hack-pad/go-indexeddb v0.3.2/go.mod h1:QvfTevpDVlkfomY498LhstjwbPW6QC4VC/lxYb0Kom0=
|
||||||
github.com/hack-pad/safejs v0.1.0 h1:qPS6vjreAqh2amUqj4WNG1zIw7qlRQJ9K10eDKMCnE8=
|
github.com/hack-pad/safejs v0.1.0 h1:qPS6vjreAqh2amUqj4WNG1zIw7qlRQJ9K10eDKMCnE8=
|
||||||
@@ -65,6 +67,8 @@ github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiY
|
|||||||
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
|
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
|
||||||
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ=
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ=
|
||||||
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE=
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE=
|
||||||
|
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||||
|
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||||
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
|
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
|
||||||
|
@@ -2,6 +2,7 @@ package patching
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
@@ -10,10 +11,11 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"fyne.io/fyne/v2"
|
|
||||||
"fyne.io/fyne/v2/dialog"
|
|
||||||
"turtlesilicon/pkg/paths" // Corrected import path
|
"turtlesilicon/pkg/paths" // Corrected import path
|
||||||
"turtlesilicon/pkg/utils" // Corrected import path
|
"turtlesilicon/pkg/utils" // Corrected import path
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/dialog"
|
||||||
)
|
)
|
||||||
|
|
||||||
func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
||||||
@@ -39,7 +41,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
resource, err := fyne.LoadResourceFromPath(resourceName)
|
resource, err := fyne.LoadResourceFromPath(resourceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to open bundled resource %s: %v", resourceName, err)
|
errMsg := fmt.Sprintf("failed to open bundled resource %s: %v", resourceName, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -49,7 +51,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
destinationFile, err := os.Create(destPath)
|
destinationFile, err := os.Create(destPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to create destination file %s: %v", destPath, err)
|
errMsg := fmt.Sprintf("failed to create destination file %s: %v", destPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -60,7 +62,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
_, err = io.Copy(destinationFile, bytes.NewReader(resource.Content()))
|
_, err = io.Copy(destinationFile, bytes.NewReader(resource.Content()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to copy bundled resource %s to %s: %v", resourceName, destPath, err)
|
errMsg := fmt.Sprintf("failed to copy bundled resource %s to %s: %v", resourceName, destPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -75,7 +77,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
}
|
}
|
||||||
if err := os.MkdirAll(targetRosettaX87Dir, 0755); err != nil {
|
if err := os.MkdirAll(targetRosettaX87Dir, 0755); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to create directory %s: %v", targetRosettaX87Dir, err)
|
errMsg := fmt.Sprintf("failed to create directory %s: %v", targetRosettaX87Dir, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -92,7 +94,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
resource, err := fyne.LoadResourceFromPath(resourceName)
|
resource, err := fyne.LoadResourceFromPath(resourceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to open bundled resource %s: %v", resourceName, err)
|
errMsg := fmt.Sprintf("failed to open bundled resource %s: %v", resourceName, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -102,7 +104,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
destinationFile, err := os.Create(destPath)
|
destinationFile, err := os.Create(destPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to create destination file %s: %v", destPath, err)
|
errMsg := fmt.Sprintf("failed to create destination file %s: %v", destPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -113,7 +115,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
destinationFile.Close()
|
destinationFile.Close()
|
||||||
errMsg := fmt.Sprintf("failed to copy bundled resource %s to %s: %v", resourceName, destPath, err)
|
errMsg := fmt.Sprintf("failed to copy bundled resource %s to %s: %v", resourceName, destPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -125,7 +127,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
log.Printf("Setting execute permission for %s", destPath)
|
log.Printf("Setting execute permission for %s", destPath)
|
||||||
if err := os.Chmod(destPath, 0755); err != nil {
|
if err := os.Chmod(destPath, 0755); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to set execute permission for %s: %v", destPath, err)
|
errMsg := fmt.Sprintf("failed to set execute permission for %s: %v", destPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedTurtleWoW = false
|
paths.PatchesAppliedTurtleWoW = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -162,7 +164,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
fileContentBytes, err = os.ReadFile(dllsTextFile)
|
fileContentBytes, err = os.ReadFile(dllsTextFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to read dlls.txt for update: %v", err)
|
errMsg := fmt.Sprintf("failed to read dlls.txt for update: %v", err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,7 +191,7 @@ func PatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
|
|
||||||
if err := os.WriteFile(dllsTextFile, []byte(updatedContent), 0644); err != nil {
|
if err := os.WriteFile(dllsTextFile, []byte(updatedContent), 0644); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to update dlls.txt: %v", err)
|
errMsg := fmt.Sprintf("failed to update dlls.txt: %v", err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("Successfully updated dlls.txt")
|
log.Printf("Successfully updated dlls.txt")
|
||||||
@@ -232,7 +234,7 @@ func PatchCrossOver(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
combinedOutput, err := cmd.CombinedOutput()
|
combinedOutput, err := cmd.CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
derrMsg := fmt.Sprintf("failed to remove signature from %s: %v\nOutput: %s", wineloaderCopy, err, string(combinedOutput))
|
derrMsg := fmt.Sprintf("failed to remove signature from %s: %v\nOutput: %s", wineloaderCopy, err, string(combinedOutput))
|
||||||
dialog.ShowError(fmt.Errorf(derrMsg), myWindow)
|
dialog.ShowError(errors.New(derrMsg), myWindow)
|
||||||
log.Println(derrMsg)
|
log.Println(derrMsg)
|
||||||
paths.PatchesAppliedCrossOver = false
|
paths.PatchesAppliedCrossOver = false
|
||||||
if err := os.Remove(wineloaderCopy); err != nil {
|
if err := os.Remove(wineloaderCopy); err != nil {
|
||||||
@@ -246,7 +248,7 @@ func PatchCrossOver(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
log.Printf("Setting execute permissions for %s", wineloaderCopy)
|
log.Printf("Setting execute permissions for %s", wineloaderCopy)
|
||||||
if err := os.Chmod(wineloaderCopy, 0755); err != nil {
|
if err := os.Chmod(wineloaderCopy, 0755); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to set executable permissions for %s: %v", wineloaderCopy, err)
|
errMsg := fmt.Sprintf("failed to set executable permissions for %s: %v", wineloaderCopy, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
paths.PatchesAppliedCrossOver = false
|
paths.PatchesAppliedCrossOver = false
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
@@ -278,7 +280,7 @@ func UnpatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
log.Printf("Removing directory: %s", rosettaX87DirPath)
|
log.Printf("Removing directory: %s", rosettaX87DirPath)
|
||||||
if err := os.RemoveAll(rosettaX87DirPath); err != nil {
|
if err := os.RemoveAll(rosettaX87DirPath); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to remove directory %s: %v", rosettaX87DirPath, err)
|
errMsg := fmt.Sprintf("failed to remove directory %s: %v", rosettaX87DirPath, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("Successfully removed directory: %s", rosettaX87DirPath)
|
log.Printf("Successfully removed directory: %s", rosettaX87DirPath)
|
||||||
@@ -292,7 +294,7 @@ func UnpatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
log.Printf("Removing file: %s", file)
|
log.Printf("Removing file: %s", file)
|
||||||
if err := os.Remove(file); err != nil {
|
if err := os.Remove(file); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to remove file %s: %v", file, err)
|
errMsg := fmt.Sprintf("failed to remove file %s: %v", file, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("Successfully removed file: %s", file)
|
log.Printf("Successfully removed file: %s", file)
|
||||||
@@ -306,7 +308,7 @@ func UnpatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
content, err := os.ReadFile(dllsTextFile)
|
content, err := os.ReadFile(dllsTextFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to read dlls.txt file: %v", err)
|
errMsg := fmt.Sprintf("failed to read dlls.txt file: %v", err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
} else {
|
} else {
|
||||||
lines := strings.Split(string(content), "\n")
|
lines := strings.Split(string(content), "\n")
|
||||||
@@ -322,7 +324,7 @@ func UnpatchTurtleWoW(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
updatedContent := strings.Join(filteredLines, "\n")
|
updatedContent := strings.Join(filteredLines, "\n")
|
||||||
if err := os.WriteFile(dllsTextFile, []byte(updatedContent), 0644); err != nil {
|
if err := os.WriteFile(dllsTextFile, []byte(updatedContent), 0644); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to update dlls.txt file: %v", err)
|
errMsg := fmt.Sprintf("failed to update dlls.txt file: %v", err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("Successfully updated dlls.txt file")
|
log.Printf("Successfully updated dlls.txt file")
|
||||||
@@ -349,7 +351,7 @@ func UnpatchCrossOver(myWindow fyne.Window, updateAllStatuses func()) {
|
|||||||
log.Printf("Removing file: %s", wineloaderCopy)
|
log.Printf("Removing file: %s", wineloaderCopy)
|
||||||
if err := os.Remove(wineloaderCopy); err != nil {
|
if err := os.Remove(wineloaderCopy); err != nil {
|
||||||
errMsg := fmt.Sprintf("failed to remove file %s: %v", wineloaderCopy, err)
|
errMsg := fmt.Sprintf("failed to remove file %s: %v", wineloaderCopy, err)
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
updateAllStatuses()
|
updateAllStatuses()
|
||||||
return
|
return
|
||||||
|
@@ -2,6 +2,7 @@ package utils
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
@@ -99,7 +100,7 @@ func RunOsascript(scriptString string, myWindow fyne.Window) bool {
|
|||||||
output, err := cmd.CombinedOutput()
|
output, err := cmd.CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("AppleScript failed: %v\nOutput: %s", err, string(output))
|
errMsg := fmt.Sprintf("AppleScript failed: %v\nOutput: %s", err, string(output))
|
||||||
dialog.ShowError(fmt.Errorf(errMsg), myWindow)
|
dialog.ShowError(errors.New(errMsg), myWindow)
|
||||||
log.Println(errMsg)
|
log.Println(errMsg)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user