summaryrefslogtreecommitdiff
path: root/x11/bbapm/patches/patch-ac
blob: 9896928706726e7fda2dc3cc600dc95d11ac0b4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
$NetBSD: patch-ac,v 1.2 2003/12/03 17:41:21 gson Exp $

--- Image.cc.orig	1999-08-15 07:43:55.000000000 -0700
+++ Image.cc
@@ -50,6 +50,17 @@
 BImage::BImage(BImageControl *c, unsigned int w, unsigned int h) {
   control = c;
 
+  colors = NULL;
+  red    = NULL;
+  green  = NULL;
+  blue   = NULL;
+  tr     = NULL;
+  tg     = NULL;
+  tb     = NULL;
+
+  from.allocated = 0;
+  to.allocated   = 0;
+
   width = ((signed) w > 0) ? w : 1;
   height = ((signed) h > 0) ? h : 1;
 
@@ -225,12 +236,12 @@
     }
 
   if (control->doDither()) {
-    short er, eg, eb, *or, *og, *ob, *nor, *nog, *nob, *por, *pog, *pob;
+    short er, eg, eb, *oR, *og, *ob, *nor, *nog, *nob, *por, *pog, *pob;
     unsigned short *ort, *ogt, *obt;
     
-    control->getDitherBuffers(width + 2, &or, &og, &ob, &nor, &nog, &nob,
+    control->getDitherBuffers(width + 2, &oR, &og, &ob, &nor, &nog, &nob,
 			      &ort, &ogt, &obt);
-    if ((! or) || (! og) || (! ob) || (! nor) || (! nog) || (! nob) ||
+    if ((! oR) || (! og) || (! ob) || (! nor) || (! nog) || (! nob) ||
 	(! ort) || (! ogt) || (! obt)) {
       fprintf(stderr,
 	      "BImage::renderXImage: error getting dither information\n");
@@ -240,7 +251,7 @@
     
     x = width;
 
-    por = or;
+    por = oR;
     pog = og;
     pob = ob;
 
@@ -271,14 +282,14 @@
       }
       
       for (x = 0; x < width; x++) {
-	if (*(or + x) > 255) *(or + x) = 255;
-	else if (*(or + x) < 0) *(or + x) = 0;
+	if (*(oR + x) > 255) *(oR + x) = 255;
+	else if (*(oR + x) < 0) *(oR + x) = 0;
 	if (*(og + x) > 255) *(og + x) = 255;
 	else if (*(og + x) < 0) *(og + x) = 0;
 	if (*(ob + x) > 255) *(ob + x) = 255;
 	else if (*(ob + x) < 0) *(ob + x) = 0;
 	
-	r = *(tr + *(or + x));
+	r = *(tr + *(oR + x));
 	g = *(tg + *(og + x));
 	b = *(tb + *(ob + x));
 	
@@ -340,11 +351,11 @@
 	  return 0;
 	}
 
-	er = *(or + x) - *(ort + *(or + x));
+	er = *(oR + x) - *(ort + *(oR + x));
 	eg = *(og + x) - *(ogt + *(og + x));
 	eb = *(ob + x) - *(obt + *(ob + x));
 	
-	*(or + x + 1) += er;
+	*(oR + x + 1) += er;
 	*(og + x + 1) += eg;
 	*(ob + x + 1) += eb;
 	
@@ -360,7 +371,7 @@
       off += image->width;
       idata = (pd += image->bytes_per_line);
       
-      por = or; or = nor; nor = por;
+      por = oR; oR = nor; nor = por;
       pog = og; og = nog; nog = pog;
       pob = ob; ob = nob; nob = pob;
     }
@@ -843,7 +854,14 @@
   window = blackbox->getRootWindow();
   screen_number = blackbox->getScreenNumber();
 
-  colors = 0;
+  colors = NULL;
+  red_err = NULL;
+  green_err = NULL;
+  blue_err = NULL;
+  next_red_err = NULL;
+  next_green_err = NULL;
+  next_blue_err = NULL;
+  cache = NULL;
   colors_per_channel = ncolors = 0;
   
   int count;