]> git.pld-linux.org Git - packages/xv.git/blame - xv-vispatch
15ef57d3c831c615082697db964731fc xv-3.10a-FLmask.v2.1.patch
[packages/xv.git] / xv-vispatch
CommitLineData
c1f0ee65
JR
1This patch fixes problems with picking a good visual on certain 24-bit Sun
2systems.
3
4
5*** ../xv-3.10a/xv.c Thu Jan 19 13:08:43 1995
6--- xv.c Mon Mar 06 17:59:59 1995
7***************
8*** 326,363 ****
9 */
10
11
12-
13 /* if we *haven't* had a non-default visual specified,
14 see if we have a TrueColor or DirectColor visual of 24 or 32 bits,
15 and if so, use that as the default visual (prefer TrueColor) */
16
17 if (!visualstr && !useroot) {
18 XVisualInfo *vinfo, rvinfo;
19 int best, numvis;
20 long flags;
21
22! best = -1;
23 rvinfo.class = TrueColor;
24 rvinfo.screen = theScreen;
25! flags = VisualClassMask | VisualScreenMask;
26
27 vinfo = XGetVisualInfo(theDisp, flags, &rvinfo, &numvis);
28! if (vinfo) { /* look for a TrueColor, 24-bit or more (pref 24) */
29! for (i=0, best = -1; i<numvis; i++) {
30 if (vinfo[i].depth == 24) best = i;
31- else if (vinfo[i].depth>24 && best<0) best = i;
32 }
33 }
34!
35 if (best == -1) { /* look for a DirectColor, 24-bit or more (pref 24) */
36 rvinfo.class = DirectColor;
37 if (vinfo) XFree((char *) vinfo);
38 vinfo = XGetVisualInfo(theDisp, flags, &rvinfo, &numvis);
39 if (vinfo) {
40! for (i=0, best = -1; i<numvis; i++) {
41 if (vinfo[i].depth == 24) best = i;
42- else if (vinfo[i].depth>24 && best<0) best = i;
43 }
44 }
45 }
46
47--- 326,377 ----
48 */
49
50
51 /* if we *haven't* had a non-default visual specified,
52 see if we have a TrueColor or DirectColor visual of 24 or 32 bits,
53 and if so, use that as the default visual (prefer TrueColor) */
54
55 if (!visualstr && !useroot) {
56+ VisualID defvid;
57 XVisualInfo *vinfo, rvinfo;
58 int best, numvis;
59 long flags;
60
61! best = -1;
62 rvinfo.class = TrueColor;
63 rvinfo.screen = theScreen;
64! flags = VisualClassMask | VisualScreenMask;
65! defvid = XVisualIDFromVisual(DefaultVisual(theDisp,
66! DefaultScreen(theDisp)));
67
68 vinfo = XGetVisualInfo(theDisp, flags, &rvinfo, &numvis);
69! if (vinfo) {
70! /* Check list, use 'default', first 24-bit, or first >24-bit */
71! for (i=0; i<numvis && best==-1; i++) { /* default? */
72! if ((vinfo[i].visualid == defvid) && (vinfo[i].depth >= 24)) best=i;
73! }
74! for (i=0; i<numvis && best==-1; i++) { /* 24-bit ? */
75 if (vinfo[i].depth == 24) best = i;
76 }
77+ for (i=0; i<numvis && best==-1; i++) { /* >24-bit ? */
78+ if (vinfo[i].depth >= 24) best = i;
79+ }
80 }
81!
82 if (best == -1) { /* look for a DirectColor, 24-bit or more (pref 24) */
83 rvinfo.class = DirectColor;
84 if (vinfo) XFree((char *) vinfo);
85+
86 vinfo = XGetVisualInfo(theDisp, flags, &rvinfo, &numvis);
87 if (vinfo) {
88! for (i=0; i<numvis && best==-1; i++) { /* default? */
89! if ((vinfo[i].visualid == defvid) && (vinfo[i].depth >= 24)) best=i;
90! }
91! for (i=0; i<numvis && best==-1; i++) { /* 24-bit ? */
92 if (vinfo[i].depth == 24) best = i;
93 }
94+ for (i=0; i<numvis && best==-1; i++) { /* >24-bit ? */
95+ if (vinfo[i].depth >= 24) best = i;
96+ }
97 }
98 }
99
100***************
101*** 364,371 ****
102 if (best>=0 && best<numvis) useOtherVisual(vinfo, best);
103 if (vinfo) XFree((char *) vinfo);
104 }
105!
106!
107
108 if (visualstr && useroot) {
109 fprintf(stderr, "%s: %sUsing default visual.\n",
110--- 378,385 ----
111 if (best>=0 && best<numvis) useOtherVisual(vinfo, best);
112 if (vinfo) XFree((char *) vinfo);
113 }
114!
115!
116
117 if (visualstr && useroot) {
118 fprintf(stderr, "%s: %sUsing default visual.\n",
This page took 0.054959 seconds and 4 git commands to generate.