Store QWaylandLayerShell using a QScopedPointer
This is to ensure that the QWaylandLayerShell will be eventually destroyed.
This commit is contained in:
		
							parent
							
								
									93f3ed2c07
								
							
						
					
					
						commit
						8d1aeb7bf1
					
				
					 2 changed files with 7 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -18,6 +18,10 @@ QWaylandLayerShellIntegration::QWaylandLayerShellIntegration()
 | 
			
		|||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QWaylandLayerShellIntegration::~QWaylandLayerShellIntegration()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool QWaylandLayerShellIntegration::initialize(QtWaylandClient::QWaylandDisplay *display)
 | 
			
		||||
{
 | 
			
		||||
    QWaylandShellIntegration::initialize(display);
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +39,7 @@ void QWaylandLayerShellIntegration::registryLayer(void *data, struct wl_registry
 | 
			
		|||
    QWaylandLayerShellIntegration *shell = static_cast<QWaylandLayerShellIntegration *>(data);
 | 
			
		||||
 | 
			
		||||
    if (interface == zwlr_layer_shell_v1_interface.name)
 | 
			
		||||
        shell->m_layerShell = new QWaylandLayerShell(registry, id, std::min(version, 4u));
 | 
			
		||||
        shell->m_layerShell.reset(new QWaylandLayerShell(registry, id, std::min(version, 4u)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ class LAYERSHELLQT_EXPORT QWaylandLayerShellIntegration : public QtWaylandClient
 | 
			
		|||
{
 | 
			
		||||
public:
 | 
			
		||||
    QWaylandLayerShellIntegration();
 | 
			
		||||
    ~QWaylandLayerShellIntegration() override;
 | 
			
		||||
 | 
			
		||||
    bool initialize(QtWaylandClient::QWaylandDisplay *display) override;
 | 
			
		||||
    QtWaylandClient::QWaylandShellSurface *createShellSurface(QtWaylandClient::QWaylandWindow *window) override;
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +29,7 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    static void registryLayer(void *data, struct wl_registry *registry, uint32_t id, const QString &interface, uint32_t version);
 | 
			
		||||
 | 
			
		||||
    QWaylandLayerShell *m_layerShell = nullptr;
 | 
			
		||||
    QScopedPointer<QWaylandLayerShell> m_layerShell;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue