File 7kaa-2.14.5.patch of Package 7kaa

diff -ruB 7kaa-2.14.5.orig/src/client/OFIRMIF.cpp 7kaa-2.14.5/src/client/OFIRMIF.cpp
--- 7kaa-2.14.5.orig/src/client/OFIRMIF.cpp	2015-05-19 03:00:20.000000000 +0200
+++ 7kaa-2.14.5/src/client/OFIRMIF.cpp	2015-09-25 16:23:43.405735779 +0200
@@ -491,7 +491,7 @@
 		x = INFO_X1+6+i%4*50;
 		y = pop_disp_y1+1+i/4*29;
 
-		switch( mouse.single_click(x, y, x+27, y+23, 2) )
+		switch( mouse.any_click(x, y, x+27, y+23, LEFT_BUTTON) ? 1 : (mouse.any_click(x, y, x+27, y+23, RIGHT_BUTTON) ? 2 : 0) )
 		{
 			case 1:         // left button to select worker
 				selected_worker_id = i+1;
diff -ruB 7kaa-2.14.5.orig/src/client/OF_BASE.cpp 7kaa-2.14.5/src/client/OF_BASE.cpp
--- 7kaa-2.14.5.orig/src/client/OF_BASE.cpp	2015-05-19 03:00:20.000000000 +0200
+++ 7kaa-2.14.5/src/client/OF_BASE.cpp	2015-09-25 17:05:59.616753330 +0200
@@ -238,8 +238,8 @@
 
 	//------ detect the overseer button -----//
 
-	int rc = mouse.single_click(INFO_X1+6, INFO_Y1+58,
-				INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, 2 );
+	int rc = mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, LEFT_BUTTON) ? 1
+				: mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, RIGHT_BUTTON) ? 2 : 0;
 
 	if( rc==1 )		// display this overseer's info
 	{
diff -ruB 7kaa-2.14.5.orig/src/client/OF_CAMP.cpp 7kaa-2.14.5/src/client/OF_CAMP.cpp
--- 7kaa-2.14.5.orig/src/client/OF_CAMP.cpp	2015-05-19 03:00:20.000000000 +0200
+++ 7kaa-2.14.5/src/client/OF_CAMP.cpp	2015-09-25 17:07:32.962237653 +0200
@@ -421,8 +421,8 @@
 
 	//------ detect the overseer button -----//
 
-	int rc = mouse.single_click(INFO_X1+6, INFO_Y1+58,
-				INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, 2 );
+	int rc = mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, LEFT_BUTTON) ? 1
+				: mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, RIGHT_BUTTON) ? 2 : 0;
 
 	if( rc==1 )		// display this overseer's info
 	{
diff -ruB 7kaa-2.14.5.orig/src/client/OF_MARK.cpp 7kaa-2.14.5/src/client/OF_MARK.cpp
--- 7kaa-2.14.5.orig/src/client/OF_MARK.cpp	2015-05-19 03:00:20.000000000 +0200
+++ 7kaa-2.14.5/src/client/OF_MARK.cpp	2015-09-25 16:22:12.651232950 +0200
@@ -814,7 +814,7 @@
 	}
 	else
 	{
-		market_product_array[marketGoods->raw_id-1] = NULL;
+		market_product_array[marketGoods->product_raw_id-1] = NULL;
 		marketGoods->product_raw_id = 0;
 	}
 }
diff -ruB 7kaa-2.14.5.orig/src/client/OVOLUME.cpp 7kaa-2.14.5/src/client/OVOLUME.cpp
--- 7kaa-2.14.5.orig/src/client/OVOLUME.cpp	2015-05-19 03:00:20.000000000 +0200
+++ 7kaa-2.14.5/src/client/OVOLUME.cpp	2015-09-25 16:24:29.805481641 +0200
@@ -70,7 +70,7 @@
 	long absY = posVolume.y >= 0 ? posVolume.y : -posVolume.y;
 	long dist = absX >= absY ? absX :absY;
 	if( dist <= DEFAULT_DIST_LIMIT )
-		rel_vol = rel_vol = 100 - dist * 100 / DEFAULT_VOL_DROP;
+		rel_vol = 100 - dist * 100 / DEFAULT_VOL_DROP;
 	else
 		rel_vol = 0;