def load_spritesheet(self, filename): if filename[-4:] == ".png": glcontext = gtk.gtkgl.widget_get_gl_context(self.drawing_area) gldrawable = gtk.gtkgl.widget_get_gl_drawable(self.drawing_area) gldrawable.gl_begin(glcontext) #construction uses OpenGL so needs to be in GL context. self.spritesheet = Graphic(filename) self.spritesheet.draw() if gldrawable.is_double_buffered(): gldrawable.swap_buffers() else: glFlush() gldrawable.gl_end() glcontext = gtk.gtkgl.widget_get_gl_context(self.preview_gl) gldrawable = gtk.gtkgl.widget_get_gl_drawable(self.preview_gl) gldrawable.gl_begin(glcontext) self.preview = Animated(filename) gldrawable.gl_end() self.builder.get_object("action").set_sensitive(True) self.builder.get_object("preview_frame").set_sensitive(True)