chiark / gitweb /
Add utility function to eject drives.
authordaid303 <daid303@gmail.com>
Wed, 1 May 2013 11:32:47 +0000 (13:32 +0200)
committerdaid303 <daid303@gmail.com>
Wed, 1 May 2013 11:32:47 +0000 (13:32 +0200)
Cura/gui/util/opengl.py
Cura/util/removableStorage.py

index 87845124cdc3b6fa65ce2d3c04be22460dfcfee9..e5a4a4353c11bfdd0e0d9fba59a150cf6f67d2a3 100644 (file)
@@ -116,6 +116,9 @@ class GLVBO(GLReferenceCounter):
 
        def release(self):
                if self._buffer is not None:
+                       glBindBuffer(GL_ARRAY_BUFFER, self._buffer)
+                       glBufferData(GL_ARRAY_BUFFER, None, GL_STATIC_DRAW)
+                       glBindBuffer(GL_ARRAY_BUFFER, 0)
                        glDeleteBuffers(1, [self._buffer])
                        self._buffer = None
 
index 27d5c7055fdcd1e060e280f0e67395c161e810b4..5039503b8c2bb1653d3f10e8633a513eb7d39a13 100644 (file)
@@ -95,5 +95,17 @@ def getPossibleSDcardDrives():
        _removeableCacheTime = time.time()
        return drives
 
+def ejectDrive(driveName):
+       if platform.system() == "Windows":
+               cmd = '"%s" %s>NUL' % (os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'EjectMedia.exe')), driveName)
+       elif platform.system() == "Darwin":
+               cmd = "diskutil eject '%s' > /dev/null 2>&1" % (driveName)
+       else:
+               cmd = "umount '%s' > /dev/null 2>&1" % (driveName)
+       if os.system(cmd):
+               return False
+       else:
+               return True
+
 if __name__ == '__main__':
        print getPossibleSDcardDrives()