[PATCH] Make X11 message boxes flickerfree with Xdbe

Hello, list.

The attached patch addresses a somewhat annoying issue under X11 where the
message boxes created with SDL would flicker erratically whenever they were
rendered.

It also reduces the render count by not redrawing whenever the mouse is moved,
as this was one of the foremost causes behind the issue. This part of the patch
applies to non-double buffered cases as well.

I posted about this issue on the bugzilla earlier as bug #2343:
https://bugzilla.libsdl.org/show_bug.cgi?id=2343

begin 644 sdl-xdbe-support.patch
M9&EF9BM<B!C.#4X8F4U-#9E-6$@8V]N9FEG=7)E"BTM+2!A+V-O;F9I9W5R M90E4=64 at 2F%N(#(Q(#$V.C(X.C4S(#(P,30 at +3U,#**RLK(&(O8V]N9FEG M=7)E"51H=2!*86X@,C,@,3<Z-#4Z,C4@,CQ-“K,#(P,I0"M.#(T+#8@
MS at R-“PW($!"B!W:71H7W@*(&5N86)L95]X,3%?<VAA<F5D"B!E;F%B;&5? M=FED96]?>#$Q7WAC=7)S;W(**V5N86)L95]V:61E;U]X,3%?>&1B90H at 96YA M8FQE7W9I9&5O7W at Q,5]X:6YE<F%M80H at 96YA8FQE7W9I9&5O7W at Q,5]X:6YP M=70*(&5N86)L95]V:61E;U]X,3%?>')A;F1R"D!(“TQ-30T+#8@S$U-#4L
M-R!0H@("M+65N86)L92UX,3$M<VAA<F5D("@("!D>6YA;6EC86QL>2!L
M;V%D(%@Q,2!S=7!P;W)T(%M;9&5F875L=#UM87EB95U=“B@("TM96YA8FQE M+79I9&5O+7 at Q,2UX8W5R<V]R"B@(”@("@("@("@("@("@("@("@
M(&5N86)L92!8,3$@6&-U<G-O<B!S=7!P;W)T(%M;9&5F875L=#UY97-=70HK
M("M+65N86)L92UV:61E;RUX,3$M>&1B92!E;F%B;&4 at 6#$Q(%AD8F4@<W5P M<&]R="!;6V1E9F%U;'0]>65S75T*("@+2UE;F%B;&4M=FED96\M>#$Q+7AI
M;F5R86UA"B@("@("@("@("@("@("@("@("@(&5N86)L92!8,3$@ M6&EN97)A;6$@<W5P<&]R="!;6V1E9F%U;'0]>65S75T*("@+2UE;F%B;&4M
M=FED96\M>#$Q+7AI;G!U=I0"M,3DX,C8L-BK,3DX,C at L,S@0$
(“1A
M<U]E8VAO(”(C9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7UA#55)33U(@
M,2(@/CYC;VYF9&5F<RYH"B*("@(”@("@(”@(&9I"BL@("@("@("@
M(“C($-H96-K('=H971H97(@+2UE;F%B;&4M=FED96\M>#$Q+7AD8F4@=V%S M(&=I=F5N+ at HK:68@=&5S="B)'ME;F%B;&5?=FED96]?>#$Q7WAD8F4K<V5T
M?2(@/2!S970[('1H96X at .@HK(”!E;F%B;&5V86P])&5N86)L95]V:61E;U]X
M,3%?>&1B93LV5L<V4R@96YA8FQE7W9I9&5O7W at Q,5]X9&)E/7EE<PHK M9FD**PHK("@("@("@("@:68@=&5S="!X)&5N86)L95]V:61E;U]X,3%? M>&1B92]('AY97,[(‘1H96XR@("@("@("@(“@("!A8U]F;E]C7V-H M96-K7VAE861E<E]C;VUP:6QE("(D3$E.14Y/(BB6#$Q+V5X=&5N<VEO;G,O
M6&1B92YH(BB86-?8W9?:&5A9&5R7U at Q,5]E>'1E;G-I;VYS7UAD8F5?:"(@ M(B-I;F-L=61E(#Q8,3$O6&QI8BYH/@HK"BLB"BMI9B!T97-T(")X)&%C7V-V M7VAE861E<E]8,3%?97AT96YS:6]N<U]89&)E7V at B(#T@>'EE<SL@=&AE;BZ
M"BL@(&AA=F5?9&)E7VA?:&1R/7EE<PHK96QS90HK(”!H879E7V1B95]H7VAD
M<CUN;PHK9FD
PHK"BL@("@("@("@("@(“@:68@=&5S="!X)&AA=F5? M9&)E7VA?:&1R(#T@>'EE<SL@=&AE;@HK"BLD87-?96-H;RB(V1E9FEN92!3
M1$Q?5DE$14]?1%))5D527U at Q,5]81$)%(#$B(#X^8V]N9F1E9G,N:HK"BL@ M("@(”@("@("@("@9FD**R@("@("@("@(&9I"B@("@("@("@
M("C($-H96-K('=H971H97(@+2UE;F%B;&4M=FED96\M>#$Q+7AI;F5R86UA M('=A<R!G:79E;BX*(&EF('1E<W0@(B1[96YA8FQE7W9I9&5O7W at Q,5]X:6YE M<F%M82MS971](B](’-E=#L@=&AE;BZ"B@(&5N86)L979A;#TD96YA8FQE
M7W9I9&5O7W at Q,5]X:6YE<F%M83L
9&EF9BM<B!C.#4X8F4U-#9E-6$@8V]N M9FEG=7)E+FEN"BTM+2!A+V-O;F9I9W5R92YI;@E4=64 at 2F%N(#(Q(#$V.C(X M.C4S(#(P,30 at +3U,#**RLK(&(O8V]N9FEG=7)E+FEN"51H=2!*86X@,C,@ M,3<Z-#4Z,C4@,CQ-“K,#(P,I0"M,3,W.2PV(“LQ,S<Y+#$Y($!"B@
M(”@("@(”@("!I9B!T97-T('@D9&5F:6YI=&5L>5]E;F%B;&5?=FED96]? M>#$Q7WAC=7)S;W(@/2!X>65S.R!T:&5N"B@(”@("@("@("@("@04-? M1$5&24Y%*%-$3%]6241%3U]$4DE615)?6#$Q7UA#55)33U(L(#$L(%L at 72D* M("@("@("@("@(&9I"BL@("@("@("@("!!0U]!4D=?14Y!0DQ%'9I
M9&5O+7 at Q,2UX9&)E+HK04-?2$5,4%]35%))3D<H6RTM96YA8FQE+79I9&5O M+7 at Q,2UX9&)E72P at 6V5N86)L92!8,3$@6&1B92!S=7!P;W)T(%M;9&5F875L M=#UY97-=75TI+HK("@("@("@("@("@("@("@("@("@("P at 96YA M8FQE7W9I9&5O7W at Q,5]X9&)E/7EE<RD**R@("@("@("@(&EF('1E<W0@ M>"1E;F%B;&5?=FED96]?>#$Q7WAD8F4@/2!X>65S.R!T:&5N"BL@("@("@ M("@("@("@04-?0TA%0TM?2$5!1$52
%@Q,2]E>‘1E;G-I;VYS+UAD8F4N
M:“PR@("@("@("@("@("@("@("@("@("@(“@:&%V95]D8F5? M:%]H9'(]>65S+HK(”@("@("@("@("@("@("@("@("@("@("!H
M879E7V1B95]H7VAD<CUN;RP
R@("@(”@("@("@("@("@("@("@ M("@("@6R-I;F-L=61E(#Q8,3$O6&QI8BYH/@HK("@("@("@("@("@
M("@("@("@("@("@("!=*0HK("@("@("@("@("@(&EF(‘1E<W0@
M>“1H879E7V1B95]H7VAD<B]('AY97,[('1H96X**R@(”@("@("@("@
M("@("@04-?1$5&24Y%%-$3%]6241%3U]$4DE615)?6#$Q7UA$0D4L(#$L
M(%L at 72D**R@("@("@("@("@("!F:0HK("@("@("@("@9FD*("@
M("@("@(“@($%#7T%21U]%3D%"3$4H=FED96\M>#$Q+7AI;F5R86UA+H@
M04-?2$5,4%]35%))3D<H6RTM96YA8FQE+79I9&5O+7 at Q,2UX:6YE<F%M85TL
M(%ME;F%B;&4 at 6#$Q(%AI;F5R86UA(’-U<’!O<G0 at 6UMD969A=6QT/7EE<UU=
M72DL"B@("@(”@("@("@("@("@("@("@("@+"!E;F%B;&5?=FED
M96]?>#$Q7WAI;F5R86UA/7EE<RD
9&EF9BM<B!C.#4X8F4U-#9E-6$@:6YC M;'5D92]31$Q?8V]N9FEG+F at N8VUA:V4*+2TM(&$O:6YC;'5D92]31$Q?8V]N M9FEG+F at N8VUA:V4)5'5E($IA;BR,2Q-CHR.#HU,RR,#$T("TP-3P"BLK M*R!B+VEN8VQU9&4O4T1,7V-O;F9I9RYH+F-M86ME"51H=2!*86X@,C,@,3<Z M-#4Z,C4@,CQ-"K,#(P,I0"M,C8Y+#8@S(V.2PW($!"BC8VUA:V5D
M969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?1%E.04U)0U]84U, at 0%-$3%]6
M241%3U]$4DE615)?6#$Q7T193D%-24-?6%-30H@(V-M86ME9&5F:6YE(%-$ M3%]6241%3U]$4DE615)?6#$Q7T193D%-24-?6%9)1$U/1$4 at 0%-$3%]6241% M3U]$4DE615)?6#$Q7T193D%-24-?6%9)1$U/1$5"BC8VUA:V5D969I;F4@ M4T1,7U9)1$5/7T12259%4E]8,3%?6$-54E-/4B!4T1,7U9)1$5/7T12259%
M4E]8,3%?6$-54E-/4D**R-C;6%K961E9FEN92!31$Q?5DE$14]?1%))5D52 M7U at Q,5]81$)%($!31$Q?5DE$14]?1%))5D527U at Q,5]81$)%0H@(V-M86ME
M9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7UA)3D5204U!($!31$Q?5DE$
M14]?1%))5D527U at Q,5]824Y%4D%-04*("-C;6%K961E9FEN92!31$Q?5DE$ M14]?1%))5D527U at Q,5]824Y0550R($!31$Q?5DE$14]?1%))5D527U at Q,5]8 M24Y0550R0H@(V-M86ME9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7UA)
M3E!55#)?4U504$]25%-?355,5$E43U5#2"!4T1,7U9)1$5/7T12259%4E]8 M,3%?6$E.4%54,E]355!03U)44U]-54Q4251/54-(0ID:69F("UR(&,X-3AB
M934T-F4U82!I;F-L=61E+U-$3%]C;VYF:6<N:"YI;@HM+2T at 82]I;F-L=61E
M+U-$3%]C;VYF:6<N:"YI;@E4=64 at 2F%N(#(Q(#$V.C(X.C4S(#(P,30 at +3U M,#**RLK(&(O:6YC;'5D92]31$Q?8V]N9FEG+F at N:6X)5&AU($IA;BR,RQ
M-SHT-3HR-2R,#$T("LP,CP"D!("TR-S at L-BK,C<X+#<@0$*("-U;F1E M9B!31$Q?5DE$14]?1%))5D527U at Q,5]$64Y!34E#7UA34PH@(W5N9&5F(%-$ M3%]6241%3U]$4DE615)?6#$Q7T193D%-24-?6%9)1$U/1$4*("-U;F1E9B!3 M1$Q?5DE$14]?1%))5D527U at Q,5]80U524T]2"BLC=6YD968 at 4T1,7U9)1$5/ M7T12259%4E]8,3%?6$1"10H@(W5N9&5F(%-$3%]6241%3U]$4DE615)?6#$Q M7UA)3D5204U!"BC=6YD968 at 4T1,7U9)1$5/7T12259%4E]8,3%?6$E.4%54
M, at H@(W5N9&5F(%-$3%]6241%3U]$4DE615)?6#$Q7UA)3E!55#)?4U504$]2
M5%-?355,5$E43U5#2ID:69F("UR(&,X-3AB934T-F4U82!I;F-L=61E+U-$ M3%]C;VYF:6=?;6%C;W-X+F@*+2TM(&$O:6YC;'5D92]31$Q?8V]N9FEG7VUA M8V]S>"YH"51U92!*86X@,C$@,38Z,C at Z-3,@,CQ-"M,#4P,HK
RL at 8B]I
M;F-L=61E+U-$3%]C;VYF:6=?;6%C;W-X+F@)5&AU($IA;BR,RQ-SHT-3HR
M-2R,#$T("LP,CP"D!("TQ,S8L-BK,3,V+#<@0$*("-D969I;F4 at 4T1, M7U9)1$5/7T12259%4E]8,3%?1%E.04U)0U]84D%.1%(@(B]U<W(O6#$Q4C8O M;&EB+VQI8EAR86YD<BXR+F1Y;&EB(@H@(V1E9FEN92!31$Q?5DE$14]?1%)) M5D527U at Q,5]$64Y!34E#7UA34RB+W5S<B]8,3%2-B]L:6(O;&EB6’-S+C$N
M9’EL:6(B"BC9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7T193D%-24-? M6%9)1$U/1$4@(B]U<W(O6#$Q4C8O;&EB+VQI8EAX9C at V=FTN,2YD>6QI8B(* M*R-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?6$1"12Q"BC9&5F:6YE M(%-$3%]6241%3U]$4DE615)?6#$Q7UA)3D5204U!(#$*("-D969I;F4 at 4T1, M7U9)1$5/7T12259%4E]8,3%?6%)!3D12(#$*("-D969I;F4 at 4T1,7U9)1$5/ M7T12259%4E]8,3%?6%-#4DY3059%4BQ"F1I9F8 at +7(@8S at U.&)E-30V935A
M(’!R96UA:V4O3&EN=7 at O4T1,7V-O;F9I9U]P<F5M86ME+F@+2TM(&$O<’)E
M;6%K92],:6YU>"]31$Q?8V]N9FEG7W!R96UA:V4N:E4=64 at 2F%N(#(Q(#$V M.C(X.C4S(#(P,30 at +3U,#**RLK(&(O<')E;6%K92],:6YU>"]31$Q?8V]N M9FEG7W!R96UA:V4N:E4:'4 at 2F%N(#(S(#$W.C0U.C(U(#(P,30@SR,#
M0$@+3(S,"PV("LR,SL.2!0H@(VEF;F1E9B!31$Q?5DE$14]?1%))5D52
M7U at Q,5]80U524T]2"BC9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7UA# M55)33U(@,0H@(V5N9&EF"BLC:69N9&5F(%-$3%]6241%3U]$4DE615)?6#$Q M7UA$0D4**R-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?6$1"12Q"BLC
M96YD:68
("-I9FYD968 at 4T1,7U9)1$5/7T12259%4E]8,3%?2$%37UA+0DM%
M64-/1$543TM%65-930H@(V1E9FEN92!31$Q?5DE$14]?1%))5D527U at Q,5](
M05-?6$M"2T590T]$151/2T594UE-(#$("-E;F1I9 at ID:69F("UR(&,X-3AB
M934T-F4U82!P<F5M86ME+UAC;V1E+UAC;V1E,R]31$Q?8V]N9FEG7W!R96UA
M:V4N:HM+2T at 82]P<F5M86ME+UAC;V1E+UAC;V1E,R]31$Q?8V]N9FEG7W!R M96UA:V4N:E4=64 at 2F%N(#(Q(#$V.C(X.C4S(#(P,30 at +3U,#RLK(&(O
M<’)E;6%K92]88V]D92]88V]D93,O4T1,7V-O;F9I9U]P<F5M86ME+F@)5&AU
M($IA;BR,RQ-SHT-3HR-2R,#$T("LP,CP"D!("TQ-C(L-BK,38R+#<@
M0$*("-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?1%E.04U)0U]84D%. M1%(@(B]U<W(O6#$Q4C8O;&EB+VQI8EAR86YD<BXR+F1Y;&EB(@H@(V1E9FEN M92!31$Q?5DE$14]?1%))5D527U at Q,5]$64Y!34E#7UA34RB+W5S<B]8,3%2
M-B]L:6(O;&EB6’-S+C$N9’EL:6(B"BC9&5F:6YE(%-$3%]6241%3U]$4DE6 M15)?6#$Q7T193D%-24-?6%9)1$U/1$4@(B]U<W(O6#$Q4C8O;&EB+VQI8EAX M9C at V=FTN,2YD>6QI8B(**R-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%? M6$1"12Q"BC9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7UA)3D5204U! M(#$*("-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?6%)!3D12(#$*("-D M969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?6%-#4DY3059%4BQ"F1I9F8@
M+7(@8S at U.&)E-30V935A(’!R96UA:V4O6&-O9&4O6&-O9&4T+U-$3%]C;VYF
M:6=?<’)E;6%K92YH"BTM+2!A+W!R96UA:V4O6&-O9&4O6&-O9&4T+U-$3%]C
M;VYF:6=?<’)E;6%K92YH"51U92!*86X@,C$@,38Z,C at Z-3,@,CQ-"M,#4P
M,HK*RL at 8B]P<F5M86ME+UAC;V1E+UAC;V1E-"]31$Q?8V]N9FEG7W!R96UA M:V4N:E4:'4 at 2F%N(#(S(#$W.C0U.C(U(#(P,30@SR,#0$@+3$V,BPV M("LQ-C(L-R!0H@(V1E9FEN92!31$Q?5DE$14]?1%))5D527U at Q,5]$64Y! M34E#7UA204Y$4BB+W5S<B]8,3%2-B]L:6(O;&EB6’)A;F1R+C(N9’EL:6(B
M"BC9&5F:6YE(%-$3%]6241%3U]$4DE615)?6#$Q7T193D%-24-?6%-3("(O M=7-R+U at Q,5(V+VQI8B]L:6)8<W,N,2YD>6QI8B(*("-D969I;F4 at 4T1,7U9) M1$5/7T12259%4E]8,3%?1%E.04U)0U]85DE$34]$12B+W5S<B]8,3%2-B]L
M:6(O;&EB6’AF.#9V;2XQ+F1Y;&EB(@HK(V1E9FEN92!31$Q?5DE$14]?1%))
M5D527U at Q,5]81$)%(#$
("-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?
M6$E.15)!34$@,0H@(V1E9FEN92!31$Q?5DE$14]?1%))5D527U at Q,5]84D%.
M1%(@,0H@(V1E9FEN92!31$Q?5DE$14]?1%))5D527U at Q,5]84T-23E-!5D52
M(#$9&EF9BM<B!C.#4X8F4U-#9E-6$@<')E;6%K92]C;VYF:6<O4T1,7V-O M;F9I9U]M86-O<W at N=&5M<&QA=&4N:HM+2T at 82]P<F5M86ME+V-O;F9I9R]3
M1$Q?8V]N9FEG7VUA8V]S>"YT96UP;&%T92YH"51U92!86X@,C$@,38Z,C at Z
M-3,@,CQ-"M,#4P,HK*RL at 8B]P<F5M86ME+V-O;F9I9R]31$Q?8V]N9FEG M7VUA8V]S>"YT96UP;&%T92YH"51H=2!*86X@,C,@,3<Z-#4Z,C4@,CQ-“K M,#(P,I0"M,3$X+#8@S$Q.“PW($!"BC9&5F:6YE(%-$3%]6241%3U]$
M4DE615)?6#$Q7T193D%-24-?6%)!3D12(”(O=7-R+U at Q,5(V+VQI8B]L:6)8
M<F%N9’(N,BYD>6QI8B(
(”-D969I;F4 at 4T1,7U9)1$5/7T12259%4E]8,3%?
M1%E.04U)0U]84U,@(B]U<W(O6#$Q4C8O;&EB+VQI8EAS<RXQ+F1Y;&EB(@H@
M(V1E9FEN92!31$Q?5DE$14]?1%))5D527U at Q,5]$64Y!34E#7UA6241-3T1%
M("(O=7-R+U at Q,5(V+VQI8B]L:6)8>&8X-G9M+C$N9’EL:6(B"BLC9&5F:6YE
M(%-$3%]6241%3U]$4DE615)?6#$Q7UA$0D4@,0H@(V1E9FEN92!31$Q?5DE$
M14]?1%))5D527U at Q,5]824Y%4D%-02Q"BC9&5F:6YE(%-$3%]6241%3U]$
M4DE615)?6#$Q7UA204Y$4BQ"BC9&5F:6YE(%-$3%]6241%3U]$4DE615)?
M6#$Q7UA30U).4T%615(@,0ID:69F("UR(&,X-3AB934T-F4U82!P<F5M86ME
M+W!R;VIE8W1S+U-$3#(N;‘5A"BTM+2!A+W!R96UA:V4O<’)O:F5C=’,O4T1,
M,BYL=6$)5’5E($IA;BR,2Q-CHR.#HU,RR,#$T("TP-3P"BLK
R!B+W!R
M96UA:V4O<’)O:F5C=’,O4T1,BYL=6$)5&AU($IA;BR,RQ-SHT-3HR-2R M,#$T("LP,CP"D!("TR.3(L-BK,CDR+#<@0$*(D)"5LB4T1,7U9)1$5/
M7T12259%4E]8,3%?1%E.04U)0U]84U,B72]("<B;&EB6'-S+G-O(B<L"B)
M"0E;(E-$3%]6241%3U]$4DE615)?6#$Q7T193D%-24-?6%9)1$U/1$4B72] M("<B;&EB6'AF.#9V;2YS;R(G+H@"0D)6R)31$Q?5DE$14]?1%))5D527U at Q
M,5]80U524T]2(ET@/2Q+HK"0D)6R)31$Q?5DE$14]?1%))5D527U at Q,5]8
M1$)%(ET@/2Q+H@"0D)6R)31$Q?5DE$14]?1%))5D527U at Q,5]824Y%4D%-
M02)=(#T@,2P
(D)"5LB4T1,7U9)1$5/7T12259%4E]8,3%?6$E.4%54,B)= M(#T@,2P*(D)"5LB4T1,7U9)1$5/7T12259%4E]8,3%?6$E.4%54,E]355!0
M3U)44U]-54Q4251/54-((ET@/2Q+I0"M-#R+#0@*S0P,RPT($!"B) M"0DB)"A31$M23T]4*2]524MI="YF<F%M97=O<FLB+H@"0D)(B0H4T1+4D]/
M5"DO1F]U;F1A=&EO;BYF<F%M97=O<FLB+H@"0D)(B0H4T1+4D]/5"DO0V]R M94%U9&EO+F9R86UE=V]R:R(*+0D)?0I<($YO(&YE=VQI;F4 at 870@96YD(&]F M(&9I;&4**PD)?0ID:69F("UR(&,X-3AB934T-F4U82!S<F,O=FED96\O>#$Q M+U-$3%]X,3%D>6XN:HM+2T at 82]S<F,O=FED96\O>#$Q+U-$3%]X,3%D>6XN
M:E4=64 at 2F%N(#(Q(#$V.C(X.C4S(#(P,30 at +3U,#**RLK(&(O<W)C+W9I M9&5O+W at Q,2]31$Q?>#$Q9'EN+F@)5&AU($IA;BR,RQ-SHT-3HR-2R,#$T
M("LP,CP"D!("TU,"PV("LU,"PY($!"BC:68 at 4T1,7U9)1$5/7T12259%
M4E]8,3%?6$-54E-/4 at H@(VEN8VQU9&4@/%@Q,2]88W5R<V]R+UAC=7)S;W(N
M:#X
("-E;F1I9 at HK(VEF(%-$3%]6241%3U]$4DE615)?6#$Q7UA$0D4
R-I
M;F-L=61E(#Q8,3$O97AT96YS:6]N<R]89&)E+F@^"BLC96YD:68
("-I9B!3
M1$Q?5DE$14]?1%))5D527U at Q,5]824Y%4D%-00H@(VEN8VQU9&4@/%@Q,2]E
M>‘1E;G-I;VYS+UAI;F5R86UA+F@^“BC96YD:68*9&EF9BM<B!C.#4X8F4U
M-#9E-6$@<W)C+W9I9&5O+W at Q,2]31$Q?>#$Q;65S<V%G96)O>“YC"BTM+2!A
M+W-R8R]V:61E;R]X,3$O4T1,7W at Q,6UE<W-A9V5B;W at N8PE4=64 at 2F%N(#(Q
M(#$V.C(X.C4S(#(P,30 at +3U,#RLK(&(O<W)C+W9I9&5O+W at Q,2]31$Q?
M>#$Q;65S<V%G96)O>“YC"51H=2!86X@,C,@,3<Z-#4Z,C4@,CQ-"K,#(P
M,I0"M.#,L-BK.#,L,3@0$
(”@("!$:7-P;&%Y("ID:7-P;&%Y.PH@ M("@(&EN="!S8W)E96X["B@("@5VEN9&]W(’=I;F1O=SL
R-I9B!31$Q?
M5DE$14]?1%))5D527U at Q,5]81$)%“BL@(”@6&1B94)A8VM"=69F97(@8G5F M.PHK("@(%-$3%]B;V]L('AD8F4[(”@("@(”@("@("@("@(“@("\J M(%=H971H97(@6&1B92!I<R!P<F5S96YT(&]R(&YO="J+PHK(V5N9&EF"B@ M("@;&]N9R!E=F5N=%]M87-K.PH@(”@($%T;VT@=VU?<')O=&]C;VQS.PH@ M("@($%T;VT@=VU?9&5L971E7VUE<W-A9V4[“D!("TS-#<L-BK,S4Q+#$R
M($!"B@(”@("@(&1A=&$M/F9O;G1?<W1R=6-T(#T at 3E5,3#L*(“@("!] M"BR-I9B!31$Q?5DE$14]?1%))5D527U at Q,5]81$)%“BL@(“@:68@*"!3 M1$Q?6#$Q7TA!5D5?6$1"12F)B!D871A+3YX9&)E(“D@>PHK(”@("@(”!8
M,3%?6&1B941E86QL;V-A=&5"86-K0G5F9F5R3F%M92AD871A+3YD:7-P;&%Y
M+”!D871A+3YB=68I.PHK("@('T**R-E;F1I9 at HK"B@("@:68@*"!D871A M+3YD:7-P;&%Y("D@>PH@("@(“@("!I9BH(&1A=&$M/G=I;F1O=RA/2!. M;VYE("D@>PH@("@(”@("@("@6#$Q7UA7:71H9')A=U=I;F1O=R@@9&%T M82T^9&ES<&QA>2P at 9&%T82T^=VEN9&]W+"!D871A+3YS8W)E96X@*3L*0$@
M+30S-RPV(“LT-#<L,C@0$("@("!]"B(”@("!8,3%?6$UA<%)A:7-E M9"@@9&ES<&QA>2P at 9&%T82T^=VEN9&]W("D["BL**R-I9B!31$Q?5DE$14]? M1%))5D527U at Q,5]81$)%"BL@("@+RH at 26YI=&EA;&ES92!A(&)A8VL at 8G5F
M9F5R(&9O<B!D;W5B;&4 at 8G5F9F5R:6YG(“HO"BL@(”@:68@*%-$3%]8,3%? M2$%615]81$)%*2!["BL@("@("@(&EN="!X9&)E7VUA:F]R+"!X9&)E7VUI M;F]R.PHK("@("@("!I9BH6#$Q7UAD8F51=65R>45X=&5N<VEO;BAD:7-P
M;&%Y+"F>&1B95]M86IO<BP@)GAD8F5?;6EN;W(I("$](#I('L
R@("@
M(”@("@(&1A=&$M/GAD8F4@/2!31$Q?5%)513LR@("@("@("@(&1A
M=&$M/F)U9B](%@Q,5]89&)E06QL;V-A=&5"86-K0G5F9F5R3F%M92AD:7-P M;&%Y+"!D871A+3YW:6YD;W<L(%AD8F55;F1E9FEN960I.PHK("@("@("!] M(&5L<V4@>PHK("@("@("@("@9&%T82T^>&1B92](%-$3%]&04Q313L*
M*R@("@("@?0HK("@('T
R-E;F1I9 at HK"B@("@<F5T=7)N(#["B!] M"B0$@+30T-2PY("LT-CDL,38 at 0$(%@Q,5]-97-S86=E0F]X1’)A=R@@
M4T1,7TUE<W-A9V5";WA$871A6#$Q(“ID871A+”!‘0R!C=’@@0H@>PH@("@ M(&EN="!I.PHM("@(%=I;F1O=R!W:6YD;W<@/2!D871A+3YW:6YD;W<[“BL@
M(”@1')A=V%B;&4@=VEN9&]W(#T at 9&%T82T^=VEN9&]W.PH@("@($1I<W!L
M87D@F1I<W!L87D@/2!D871A+3YD:7-P;&%Y.PH@"BLC:68 at 4T1,7U9)1$5/
M7T12259%4E]8,3%?6$1"10HK("@(&EF("A31$Q?6#$Q7TA!5D5?6$1"12F
M)B!D871A+3YX9&)E
2![“BL@(”@("@(’=I;F1O=R](&1A=&$M/F)U9CL* M*R@("@("@6#$Q7UAD8F5"96=I;DED:6]M
&1A=&$M/F1I<W!L87DI.PHK
M("@('T**R-E;F1I9 at HK"B@("@6#$Q7UA3971&;W)E9W)O=6YD*"!D:7-P M;&%Y+"!C='@L(&1A=&$M/F-O;&]R6R!31$Q?34534T%'14)/6%]#3TQ/4E]" M04-+1U)/54Y$(%T@*3L*("@("!8,3%?6$9I;&Q296-T86YG;&4H(&1I<W!L
M87DL(’=I;F1O=RP at 8W1X+“P+"P+”!D871A+3YD:6%L;V=?=VED=&@L(&1A
M=&$M/F1I86QO9U]H96EG:‘0@3L(I0"M-#DW+#8@*S4R."PQ-B!0H@ M("@("@("@("@("@("@("@(“@(&)U='1O;F1A=&$M/G1E>'0L(&)U M='1O;F1A=&%X,3$M/FQE;F=T:"I.PH@(”@("@("!]"B@("@?0HK"BLC
M:68 at 4T1,7U9)1$5/7T12259%4E]8,3%?6$1"10HK("@(&EF("A31$Q?6#$Q M7TA!5D5?6$1"12F)B!D871A+3YX9&)E2![“BL@(”@("@(%AD8F53=V%P
M26YF;R!S=V%P7VEN9F[“BL@(”@("@(’-W87!?:6YF;RYS=V%P7W=I;F1O
M=R](&1A=&$M/G=I;F1O=SL**R@("@("@<W=A<%]I;F9O+G-W87!?86-T
M:6]N(#T at 6&1B955N9&5F:6YE9#L**R@("@(“@6#$Q7UAD8F53=V%P0G5F M9F5R<RAD871A+3YD:7-P;&%Y+"F<W=A<%]I;F9O+”Q*3L**R@("@("@
M6#$Q7UAD8F5%;F1)9&EO;2AD871A+3YD:7-P;&%Y
3LR@("!]"BLC96YD M:68*('T*(H at +RH@3&]O<"!A;F0@:&%N9&QE(&UE<W-A9V4 at 8F]X(&5V96YT
M(&UE<W-A9V5S(‘5N=&EL(’-O;65T:&EN9R!K:6QL<R!I=“X@B*0$@+34V M,"PW("LV,#$L,3$@0$(”@("@("@8V%S92!-;W1I;VY.;W1I9GDZ"B@
M("@("@(“@("!I9BH(&AA<U]F;V-U<RI('L*("@(”@("@("@("@
M(“O*B!-;W5S92!M;W9E9"XN+BJ+PHK(”@("@("@("@("@(&EN="!P M<F5V:6YD97@@/2!D871A+3YM;W5S95]O=F5R7VEN9&5X.PH@("@("@("@
M("@("@(&1A=&$M/FUO=7-E7V]V97)?:6YD97@@/2!'971(:71"=71T;VY)
M;F1E>"@@9&%T82P at 92YX8G5T=&]N+G at L(&4N>&)U='1O;BYY(“D[“BL@(”@ M("@(”@("@("@:68@*&1A=&$M/FUO=7-E7V]V97)?:6YD97@@/3T@<')E M=FEN9&5X*2!["BL@("@("@("@("@("@("@(&1R87<@/2!31$Q?1D%, M4T4["BL@("@("@("@("@("@?0H@("@("@("@("@?0H@("@("@
M("@("@8G)E86L["B*9&EF9BM<B!C.#4X8F4U-#9E-6$@<W)C+W9I9&5O
M+W at Q,2]31$Q?>#$Q<WEM+F@+2TM(&$O<W)C+W9I9&5O+W at Q,2]31$Q?>#$Q
M<WEM+F@)5’5E($IA;BR,2Q-CHR.#HU,RR,#$T("TP-3P"BLK
R!B+W-R
M8R]V:61E;R]X,3$O4T1,7W at Q,7-Y;2YH"51H=2!86X@,C,@,3<Z-#4Z,C4@
M,CQ-"K,#(P,I0"M,C,P+#8@*S(S,"PR,"!0H at 4T1,7U at Q,5]364TH M0W5R<V]R+%AC=7)S;W));6%G94QO861#=7)S;W(L*$1I<W!L87D@*F$L8V]N M<W0 at 6&-U<G-O<DEM86=E("IB*2PH82QB*2QR971U<FXI"BC96YD:68
(HK M+RH at 6&1B92!S=7!P;W)T("HO"BLC:68 at 4T1,7U9)1$5/7T12259%4E]8,3%? M6$1"10HK4T1,7U at Q,5]-3T153$4H6$1"12D**U-$3%]8,3%?4UE-*%-T871U M<RQ89&)E475E<GE%>'1E;G-I;VXL*$1I<W!L87D@*F1P>2QI;G0@*FUA:F]R M7W9E<G-I;VY?<F5T=7)N+&EN="J;6EN;W)?=F5R<VEO;E]R971U<FXI+"AD
M<‘DL;6%J;W)?=F5R<VEO;E]R971U<FXL;6EN;W)?=F5R<VEO;E]R971U<FXI
M+’)E='5R;BD
U-$3%]8,3%?4UE-%AD8F5"86-K0G5F9F5R+%AD8F5!;&QO
M8V%T94)A8VM"=69F97).86UE+"A$:7-P;&%Y("ID<‘DL5VEN9&]W(’=I;F1O
M=RQ89&)E4W=A<$%C=&EO;B!S=V%P7V%C=&EO;BDL
&1P>2QW:6YD;W<L<W=A
M<%]A8W1I;VXI+’)E='5R;BDU-$3%]8,3%?4UE-%-T871U<RQ89&)E1&5A
M;&QO8V%T94)A8VM"=69F97).86UE+"A$:7-P;&%Y("ID<'DL6&1B94)A8VM"
M=69F97(@8G5F9F5R
2PH9’!Y+&)U9F9E<BDL<F5T=7)N0HK4T1,7U at Q,5]3
M64TH4W1A='5S+%AD8F53=V%P0G5F9F5R<RPH1&ES<&QA>2J9'!Y+%AD8F53 M=V%P26YF;RJ<W=A<%]I;F9O+&EN="!N=6U?=VEN9&]W<RDL
&1P>2QS=V%P
M7VEN9F\L;G5M7W=I;F1O=W,I+’)E='5R;BD
U-$3%]8,3%?4UE-%-T871U
M<RQ89&)E0F5G:6Y)9&EO;2PH1&ES<&QA>2J9'!Y*2PH9'!Y*2QR971U<FXI M"BM31$Q?6#$Q7U-932A3=&%T=7,L6&1B945N9$ED:6]M+"A$:7-P;&%Y("ID M<'DI+"AD<'DI+')E='5R;BD**U-$3%]8,3%?4UE-*%AD8F538W)E96Y6:7-U M86Q);F9O*BQ89&)E1V5T5FES=6%L26YF;RPH1&ES<&QA>2J9’!Y+$1R87=A
M8FQE("IS8W)E96Y?<W!E8VEF:65R<RQI;G0@FYU;5]S8W)E96YS2PH9’!Y
M+’-C<F5E;E]S<&5C:69I97)S+&YU;5]S8W)E96YS
2QR971U<FXI"BM31$Q?
M6#$Q7U-932AV;VED+%AD8F5&<F5E5FES=6%L26YF;RPH6&1B95-C<F5E;E9I
M<W5A;$EN9F@G9I<W5A;%]I;F9O2PH=FES=6%L7VEN9F\I+"DU-$3%]8
M,3%?4UE-%AD8F5"86-K0G5F9F5R071T<FEB=71E<RHL6&1B94=E=$)A8VM"
M=69F97)!='1R:6)U=&5S+"A$:7-P;&%Y(“ID<'DL6&1B94)A8VM”=69F97(@
M8G5F9F5R
2PH9’!Y+&)U9F9E<BDL<F5T=7)N0HK(V5N9&EF"BL("\J(%AI
M;F5R86UA(’-U<’!O<G0@B*("-I9B!31$Q?5DE$14]?1%))5D527U at Q,5]8
M24Y%4D%-00H at 4T1,7U at Q,5]-3T153$4H6$E.15)!34$I"F1I9F8 at +7(@8S at U
M.&)E-30V935A(’-R8R]V:61E;R]X,3$O4T1,7W at Q,79I9&5O+F@
+2TM(&$O
M<W)C+W9I9&5O+W at Q,2]31$Q?>#$Q=FED96\N:E4=64 at 2F%N(#(Q(#$V.C(X M.C4S(#(P,30 at +3U,#**RLK(&(O<W)C+W9I9&5O+W at Q,2]31$Q?>#$Q=FED M96\N:E4:'4 at 2F%N(#(S(#$W.C0U.C(U(#(P,30@*SR,#0$@+3,T+#8@ M*S,T+#D at 0$("-I9B!31$Q?5DE$14]?1%))5D527U at Q,5]80U524T]2"BC M:6YC;'5D92\6#$Q+UAC=7)S;W(O6&-U<G-O<BYH/@H@(V5N9&EF"BLC:68@
M4T1,7U9)1$5/7T12259%4E]8,3%?6$1"10HK(VEN8VQU9&4@/%@Q,2]E>'1E
M;G-I;VYS+UAD8F4N:#X
R-E;F1I9 at H@(VEF(%-$3%]6241%3U]$4DE615)?
M6#$Q7UA)3D5204U!“BC:6YC;'5D92\6#$Q+V5X=&5N<VEO;G,O6&EN97)A
.;6$N:#X*(”-E;F1I9 at H
end

Since the patch was sub-optimally attached as uuencoded data, here it
is in a hopefully more conformant format.
-------------- next part --------------
A non-text attachment was scrubbed…
Name: sdl-xdbe-support.patch
Type: text/x-patch
Size: 13064 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20140124/9cd693a8/attachment-0001.bin

I just updated the patch to use the new logging stuff that the
autoconf build system received in 5226058345bf. The same patch is
also available on bugzilla as v3 of the patch.On Fri, Jan 24, 2014 at 11:05 AM, Melker Narikka <@Melker_Narikka> wrote:

Hello, list.

The attached patch addresses a somewhat annoying issue under X11 where the
message boxes created with SDL would flicker erratically whenever they were
rendered.

It also reduces the render count by not redrawing whenever the mouse is
moved,
as this was one of the foremost causes behind the issue. This part of the
patch
applies to non-double buffered cases as well.

I posted about this issue on the bugzilla earlier as bug #2343:
https://bugzilla.libsdl.org/show_bug.cgi?id=2343

-------------- next part --------------
A non-text attachment was scrubbed…
Name: sdl-xdbe-support.patch
Type: text/x-patch
Size: 13193 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20140127/a8ca6902/attachment-0001.bin

I think we should seriously consider this patch after 2.0.2 ships.

–ryan.On 01/27/2014 01:33 PM, Melker Narikka wrote:

I just updated the patch to use the new logging stuff that the
autoconf build system received in 5226058345bf. The same patch is
also available on bugzilla as v3 of the patch.

What if we merge it and leave the configure default to ?disabled? in 2.0.2, and flip it to enabled right after? That way we get the ?don?t redraw dialog on each mouse motion? fix.

  • J?rgen.On Jan 27, 2014, at 12:55 PM, Ryan C. Gordon wrote:

On 01/27/2014 01:33 PM, Melker Narikka wrote:

I just updated the patch to use the new logging stuff that the
autoconf build system received in 5226058345bf. The same patch is
also available on bugzilla as v3 of the patch.

I think we should seriously consider this patch after 2.0.2 ships.

–ryan.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

What if we merge it and leave the configure default to ?disabled? in
2.0.2, and flip it to enabled right after? That way we get the ?don?t
redraw dialog on each mouse motion? fix.

How about we take just this piece for 2.0.2, and put the rest in right
after it ships?

–ryan.

@@ -560,7 +601,11 @@
case MotionNotify:
if ( has_focus ) {
/* Mouse moved… */

  •            int previndex = data->mouse_over_index;
                data->mouse_over_index = GetHitButtonIndex( data, 
    

e.xbutton.x, e.xbutton.y );

  •            if (data->mouse_over_index == previndex) {
    
  •                draw = SDL_FALSE;
    
  •            }
            }
            break;

Okay, done. http://hg.libsdl.org/SDL/rev/06922987b6ffOn Jan 27, 2014, at 1:18 PM, Ryan C. Gordon <icculus at icculus.org<mailto:icculus at icculus.org>> wrote:

What if we merge it and leave the configure default to ?disabled? in
2.0.2, and flip it to enabled right after? That way we get the ?don?t
redraw dialog on each mouse motion? fix.

How about we take just this piece for 2.0.2, and put the rest in right after it ships?

–ryan.

@@ -560,7 +601,11 @@
case MotionNotify:
if ( has_focus ) {
/* Mouse moved… */

  •            int previndex = data->mouse_over_index;
              data->mouse_over_index = GetHitButtonIndex( data, e.xbutton.x, e.xbutton.y );
    
  •            if (data->mouse_over_index == previndex) {
    
  •                draw = SDL_FALSE;
    
  •            }
          }
          break;