forked from quickshell/quickshell
		
	core/reloader: fix incorrect generation teardown on hard reload
This commit is contained in:
		
							parent
							
								
									6c9526761c
								
							
						
					
					
						commit
						84bb4098ad
					
				
					 1 changed files with 7 additions and 3 deletions
				
			
		| 
						 | 
					@ -65,7 +65,7 @@ void RootWrapper::reloadGraph(bool hard) {
 | 
				
			||||||
	auto* obj = component.beginCreate(generation->engine->rootContext());
 | 
						auto* obj = component.beginCreate(generation->engine->rootContext());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (obj == nullptr) {
 | 
						if (obj == nullptr) {
 | 
				
			||||||
		QString error = "failed to create root component\n" + component.errorString();
 | 
							const QString error = "failed to create root component\n" + component.errorString();
 | 
				
			||||||
		qWarning().noquote() << error;
 | 
							qWarning().noquote() << error;
 | 
				
			||||||
		delete generation;
 | 
							delete generation;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,7 +78,7 @@ void RootWrapper::reloadGraph(bool hard) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	auto* newRoot = qobject_cast<ShellRoot*>(obj);
 | 
						auto* newRoot = qobject_cast<ShellRoot*>(obj);
 | 
				
			||||||
	if (newRoot == nullptr) {
 | 
						if (newRoot == nullptr) {
 | 
				
			||||||
		QString error = "root component was not a Quickshell.ShellRoot";
 | 
							const QString error = "root component was not a Quickshell.ShellRoot";
 | 
				
			||||||
		qWarning().noquote() << error;
 | 
							qWarning().noquote() << error;
 | 
				
			||||||
		delete obj;
 | 
							delete obj;
 | 
				
			||||||
		delete generation;
 | 
							delete generation;
 | 
				
			||||||
| 
						 | 
					@ -96,7 +96,11 @@ void RootWrapper::reloadGraph(bool hard) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	auto isReload = this->generation != nullptr;
 | 
						auto isReload = this->generation != nullptr;
 | 
				
			||||||
	generation->onReload(hard ? nullptr : this->generation);
 | 
						generation->onReload(hard ? nullptr : this->generation);
 | 
				
			||||||
	if (hard) delete this->generation;
 | 
					
 | 
				
			||||||
 | 
						if (hard && this->generation != nullptr) {
 | 
				
			||||||
 | 
							this->generation->destroy();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	this->generation = generation;
 | 
						this->generation = generation;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	qInfo() << "Configuration Loaded";
 | 
						qInfo() << "Configuration Loaded";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue