From 3d63509630be45bd51b92065eb27ba3fb362d060 Mon Sep 17 00:00:00 2001 From: Marc Culler Date: Tue, 16 Jan 2024 16:13:48 -0600 Subject: [PATCH] Add windows togl3 files. --- opengl/CyOpenGL.pyx | 6 +++--- python/sage_helper.py | 2 +- python/togl3/windows/Togl3.0/Togl30t.dll | Bin 0 -> 33792 bytes python/togl3/windows/Togl3.0/pkgIndex.tcl | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 python/togl3/windows/Togl3.0/Togl30t.dll create mode 100644 python/togl3/windows/Togl3.0/pkgIndex.tcl diff --git a/opengl/CyOpenGL.pyx b/opengl/CyOpenGL.pyx index f681935d..f03bed29 100644 --- a/opengl/CyOpenGL.pyx +++ b/opengl/CyOpenGL.pyx @@ -106,10 +106,10 @@ class RawOpenGLWidget(Tk_.Widget, Tk_.Misc): curr_platform = sys.platform cpu_width = platform.architecture()[0] - if curr_platform[:5] == 'linux2': + if curr_platform.startswith('linux2'): curr_platform = 'linux' - if curr_platform == 'win32': - current_platform = 'windows' + elif curr_platform == 'win32': + curr_platform = 'windows' Togl_path = os.path.join(Togl_dir, curr_platform) if not os.path.exists(Togl_path): raise RuntimeError('Togl directory "%s" missing.' % Togl_path) diff --git a/python/sage_helper.py b/python/sage_helper.py index 25caee82..25039a8a 100644 --- a/python/sage_helper.py +++ b/python/sage_helper.py @@ -11,7 +11,7 @@ try: import sage.all _within_sage = True -except ImportError: +except ModuleNotFoundError : _within_sage = False import decorator diff --git a/python/togl3/windows/Togl3.0/Togl30t.dll b/python/togl3/windows/Togl3.0/Togl30t.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0184cefcf23df6e314e5b97af138061f101bd2c GIT binary patch literal 33792 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 kld;FMr+LrTJso>G_w?_v?#