1diff -urN xlife-6.7/defs.h xlife-6.7.1/defs.h
2--- xlife-6.7/defs.h	2013-05-08 08:59:47.000000000 +0400
3+++ xlife-6.7.1/defs.h	2013-06-16 02:25:05.000000000 +0400
4@@ -23,7 +23,7 @@
5 /*
6 A lot of modifications were added at 2001, 2011-13 by Vladimir Lidovski vol.litwr@gmail.com
7 (C) This version of XLife may be used under the same conditions as mentioned above
8-$Id: defs.h 195 2013-05-08 04:59:47Z micro $
9+$Id: defs.h 212 2013-06-15 22:25:05Z micro $
10 */
11
12 #ifdef __GNUCC__
13@@ -54,6 +54,9 @@
14 #define VFREQ 0
15 #endif
16
17+#define MAXSCALE 6         /* 1:64 */
18+#define MINSCALE -10       /* 1024:1 */
19+
20 #define BORDERWIDTH 2
21
22 #define INPUTXOFF 2
23diff -urN xlife-6.7/file.c xlife-6.7.1/file.c
24--- xlife-6.7/file.c	2013-06-10 19:56:00.000000000 +0400
25+++ xlife-6.7.1/file.c	2013-06-16 02:44:02.000000000 +0400
26@@ -28,7 +28,7 @@
27 /*
28 A lot of modifications were added at 2001, 2011-13 by Vladimir Lidovski vol.litwr@gmail.com
29 (C) This version of XLife may be used under the same conditions as mentioned above
30-$Id: file.c 210 2013-06-10 15:56:00Z micro $
31+$Id: file.c 213 2013-06-15 22:44:02Z micro $
32 */
33
34 /*
35@@ -1066,6 +1066,9 @@
36 int loadfile_req(char *fn) {
37    char tmp[PATNAMESIZ], loaddir[PATNAMESIZ];
38    LoadReq *loadqueue = 0;
39+#ifdef MICROSOFT
40+   int scale_save = scale;
41+#endif
42    if (!stashed[0])
43       strcpy(stashed, fn);
44    do_expose_lifew();
45@@ -1090,7 +1093,7 @@
46          cellheight = SCALE(height - INPUTH - BORDERWIDTH*3);
47          if (cellwidth >= tentative.xmax - tentative.xmin
48                                && cellheight >= tentative.ymax - tentative.ymin
49-                                                               || scale <= -10)
50+                                                          || scale <= MINSCALE)
51             break;
52          --scale;
53          loadx = cellwidth/2 + xpos;
54@@ -1099,7 +1102,8 @@
55       setscale(scale);
56    }
57 #ifdef MICROSOFT
58-   if (tentative.tilecount) XClearWindow(disp, lifew);
59+   if (scale_save != scale)
60+      XClearWindow(disp, lifew);
61 #endif
62    showstates();
63    showrules();
64