From 3ccf1c5115c1ec6225bd6c68f95ae81e7ae7eabc Mon Sep 17 00:00:00 2001
From: Fabian Homborg <FHomborg@gmail.com>
Date: Tue, 22 Oct 2013 14:48:53 +0200
Subject: [PATCH] Add some errorchecking to minimizehandling, prepare release

---
 contents/code/tilelist.js | 23 +++++++++++++++++++----
 metadata.desktop          |  2 +-
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/contents/code/tilelist.js b/contents/code/tilelist.js
index 35dee90..5108e96 100644
--- a/contents/code/tilelist.js
+++ b/contents/code/tilelist.js
@@ -107,12 +107,26 @@ TileList.prototype.addClient = function(client) {
 		getTile(client).onClientDesktopChanged(client);
 	});
 	client.clientMinimized.connect(function(client) {
-		self._onClientRemoved(client);
-		getTile(client).onClientMinimizedChanged(client);
+		try {
+			self._onClientRemoved(client);
+			var tile = getTile(client);
+			if (tile != null) {
+				tile.onClientMinimizedChanged(client);
+			}
+		} catch(err) {
+			print(err, "in mimimized");
+		}
 	});
 	client.clientUnminimized.connect(function(client) {
-		self._onClientAdded(client);
-		getTile(client).onClientMinimizedChanged(client);
+		try {
+			self._onClientAdded(client);
+			var tile = getTile(client);
+			if (tile != null) {
+				tile.onClientMinimizedChanged(client);
+			}
+		} catch(err) {
+			print(err, "in Unminimized");
+		}
 	});
 
 	// Check whether the client is part of an existing tile
@@ -139,6 +153,7 @@ TileList.prototype.addClient = function(client) {
 		client.keepBelow = true;
 	}
 	client.tiling_floating = false;
+	assert(client.tiling_tileIndex >= 0, "Client added with invalid tileIndex");
 };
 
 TileList.prototype.retile = function() {
diff --git a/metadata.desktop b/metadata.desktop
index 68bd241..4450b23 100644
--- a/metadata.desktop
+++ b/metadata.desktop
@@ -11,7 +11,7 @@ X-KDE-PluginInfo-Email=FHomborg@gmail.com
 X-KDE-PluginInfo-Name=kwin-script-tiling
 X-KDE-PluginKeyword=kwin-script-tiling
 X-KDE-ParentComponents=kwin-script-tiling
-X-KDE-PluginInfo-Version=1.0.1
+X-KDE-PluginInfo-Version=1.1.0
 
 X-KDE-PluginInfo-Depends=
 X-KDE-PluginInfo-License=GPL
-- 
GitLab