forked from quickshell/quickshell
		
	fix: fix scopes of created QQmlComponents
Using the scope of the component itself makes sure things availible in its scope are usable, instead of the parent scope.
This commit is contained in:
		
							parent
							
								
									7467b65809
								
							
						
					
					
						commit
						4cfe6ee0a1
					
				
					 3 changed files with 4 additions and 3 deletions
				
			
		| 
						 | 
					@ -95,7 +95,7 @@ void Variants::updateVariants() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			auto* instance = this->mComponent->createWithInitialProperties(
 | 
								auto* instance = this->mComponent->createWithInitialProperties(
 | 
				
			||||||
			    variant,
 | 
								    variant,
 | 
				
			||||||
			    QQmlEngine::contextForObject(this)
 | 
								    QQmlEngine::contextForObject(this->mComponent)
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (instance == nullptr) {
 | 
								if (instance == nullptr) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -177,7 +177,7 @@ void SocketServer::disableServer() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SocketServer::onNewConnection() {
 | 
					void SocketServer::onNewConnection() {
 | 
				
			||||||
	if (auto* connection = this->server->nextPendingConnection()) {
 | 
						if (auto* connection = this->server->nextPendingConnection()) {
 | 
				
			||||||
		auto* instanceObj = this->mHandler->create(QQmlEngine::contextForObject(this));
 | 
							auto* instanceObj = this->mHandler->create(QQmlEngine::contextForObject(this->mHandler));
 | 
				
			||||||
		auto* instance = qobject_cast<Socket*>(instanceObj);
 | 
							auto* instance = qobject_cast<Socket*>(instanceObj);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (instance == nullptr) {
 | 
							if (instance == nullptr) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -73,7 +73,8 @@ void SessionLock::updateSurfaces(SessionLock* old) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for (auto* screen: screens) {
 | 
							for (auto* screen: screens) {
 | 
				
			||||||
			if (!this->surfaces.contains(screen)) {
 | 
								if (!this->surfaces.contains(screen)) {
 | 
				
			||||||
				auto* instanceObj = this->mSurfaceComponent->create(QQmlEngine::contextForObject(this));
 | 
									auto* instanceObj =
 | 
				
			||||||
 | 
									    this->mSurfaceComponent->create(QQmlEngine::contextForObject(this->mSurfaceComponent));
 | 
				
			||||||
				auto* instance = qobject_cast<SessionLockSurface*>(instanceObj);
 | 
									auto* instance = qobject_cast<SessionLockSurface*>(instanceObj);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (instance == nullptr) {
 | 
									if (instance == nullptr) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue