Allow Ui::GL::Renderer::deinit on lost context.
This commit is contained in:
		
							parent
							
								
									241798ac29
								
							
						
					
					
						commit
						463da7e410
					
				
					 8 changed files with 9 additions and 9 deletions
				
			
		| 
						 | 
					@ -51,7 +51,7 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void deinit(
 | 
						void deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) override;
 | 
							QOpenGLFunctions *f) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void paint(
 | 
						void paint(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
| 
						 | 
					@ -168,7 +168,7 @@ void Panel::Incoming::RendererGL::init(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Panel::Incoming::RendererGL::deinit(
 | 
					void Panel::Incoming::RendererGL::deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) {
 | 
							QOpenGLFunctions *f) {
 | 
				
			||||||
	_textures.destroy(f);
 | 
						_textures.destroy(f);
 | 
				
			||||||
	_imageProgram = std::nullopt;
 | 
						_imageProgram = std::nullopt;
 | 
				
			||||||
	_texturedVertexShader = nullptr;
 | 
						_texturedVertexShader = nullptr;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -398,7 +398,7 @@ void Viewport::RendererGL::ensureARGB32Program() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Viewport::RendererGL::deinit(
 | 
					void Viewport::RendererGL::deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) {
 | 
							QOpenGLFunctions *f) {
 | 
				
			||||||
	_frameBuffer = std::nullopt;
 | 
						_frameBuffer = std::nullopt;
 | 
				
			||||||
	_frameVertexShader = nullptr;
 | 
						_frameVertexShader = nullptr;
 | 
				
			||||||
	_imageProgram = std::nullopt;
 | 
						_imageProgram = std::nullopt;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void deinit(
 | 
						void deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) override;
 | 
							QOpenGLFunctions *f) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void paint(
 | 
						void paint(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -130,7 +130,7 @@ void OverlayWidget::RendererGL::init(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void OverlayWidget::RendererGL::deinit(
 | 
					void OverlayWidget::RendererGL::deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) {
 | 
							QOpenGLFunctions *f) {
 | 
				
			||||||
	_textures.destroy(f);
 | 
						_textures.destroy(f);
 | 
				
			||||||
	_imageProgram = std::nullopt;
 | 
						_imageProgram = std::nullopt;
 | 
				
			||||||
	_texturedVertexShader = nullptr;
 | 
						_texturedVertexShader = nullptr;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void deinit(
 | 
						void deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) override;
 | 
							QOpenGLFunctions *f) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void paint(
 | 
						void paint(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -225,7 +225,7 @@ void Pip::RendererGL::init(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Pip::RendererGL::deinit(
 | 
					void Pip::RendererGL::deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) {
 | 
							QOpenGLFunctions *f) {
 | 
				
			||||||
	_textures.destroy(f);
 | 
						_textures.destroy(f);
 | 
				
			||||||
	_imageProgram = std::nullopt;
 | 
						_imageProgram = std::nullopt;
 | 
				
			||||||
	_texturedVertexShader = nullptr;
 | 
						_texturedVertexShader = nullptr;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,7 +25,7 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void deinit(
 | 
						void deinit(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
		QOpenGLFunctions &f) override;
 | 
							QOpenGLFunctions *f) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void paint(
 | 
						void paint(
 | 
				
			||||||
		not_null<QOpenGLWidget*> widget,
 | 
							not_null<QOpenGLWidget*> widget,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
Subproject commit a8ce22fd75d8f53449aae6319d5503f7e8967f5e
 | 
					Subproject commit 29f339e26e11af5d56c5da1d6536bee0233d5194
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue