Absturz beim Ziehen des Fensters behoben, Zeiger am Rand wieder über Tk, Vodafone-Datum in Spalte A
Windows-Build / windows-exe (push) Successful in 5m30s
Windows-Build / windows-exe (push) Successful in 5m30s
- Verschieben/Größe ziehen per PostMessage statt SendMessage: Die Windows-Verschiebeschleife lief innerhalb eines Tk-Ereignisses; Tk führte darin Python-Ereignisse (<Configure>) aus -> harter Absturz „PyEval_RestoreThread … thread state is NULL“ (normal und aus maximiert). - Größen-Mauszeiger am Rand wieder von Tk (blieb sonst im Fenster stehen); Windows zieht beim Drücken. - Neuer Maustest im Build (xdotool, echte Maus): Titelleiste/Rand ziehen, maximieren, herausziehen. - Export: Bei Vodafone steht in Spalte A das Aktivierungsdatum (statt Abrechnungslauf). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
966379293a
commit
5a9d6d19a2
11 files changed
+166
-71
No files matched your search
@@ -0,0 +1,36 @@
|
||||
"""Für build/maustest.sh: startet die App und schreibt laufend Lage und Zustand des Hauptfensters.
|
||||
|
||||
Kein pytest-Test – wird im Windows-Build mit echter Maus (xdotool) bedient. Hintergrund: v1.3.0 stürzte
|
||||
beim Ziehen an der Titelleiste hart ab; das sieht man nur mit echter Maus.
|
||||
"""
|
||||
import faulthandler
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import tempfile
|
||||
import tkinter as tk
|
||||
|
||||
aus = sys.argv[1]
|
||||
faulthandler.enable(open(os.path.join(aus, "absturz.txt"), "w"))
|
||||
home = tempfile.mkdtemp()
|
||||
os.environ["PROVTOOL_HOME"] = home
|
||||
with open(os.path.join(home, "einstellungen.json"), "w") as f:
|
||||
json.dump({"assistent_erledigt": True, "tipps_beim_start": False, "fenster": "900x560+100+100"}, f)
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
from provtool.gui import app as A # noqa: E402
|
||||
|
||||
root = tk.Tk()
|
||||
a = A.App(root)
|
||||
fehler = []
|
||||
root.report_callback_exception = lambda *e: fehler.append(repr(e[1]))
|
||||
|
||||
|
||||
def melden():
|
||||
with open(os.path.join(aus, "status.txt"), "a") as f:
|
||||
f.write(f"{root.winfo_x()} {root.winfo_y()} {root.winfo_width()} {root.winfo_height()} "
|
||||
f"{int(a.rahmen.maximiert)} {len(fehler)}\n")
|
||||
root.after(250, melden)
|
||||
|
||||
|
||||
root.after(250, melden)
|
||||
root.mainloop()
|
||||
Reference in new issue
Block a user