From 031dde06b9c7df4336e8f522dde6c9ac8a74972f Mon Sep 17 00:00:00 2001
From: Lyubomir Marinov <lyubomir.marinov@jitsi.org>
Date: Fri, 25 Jan 2013 07:14:56 +0000
Subject: [PATCH] Replaces D3DXLoadSurfaceFromMemory with LockRect. Contributed
 by James M. Martin.

---
 lib/native/windows-64/jnawtrenderer.dll       | Bin 50329 -> 50001 bytes
 lib/native/windows/jnawtrenderer.dll          | Bin 47636 -> 47377 bytes
 src/native/build.xml                          |  16 +++++-
 .../jawtrenderer/JAWTRenderer_Windows.c       |  47 +++++++++---------
 4 files changed, 38 insertions(+), 25 deletions(-)

diff --git a/lib/native/windows-64/jnawtrenderer.dll b/lib/native/windows-64/jnawtrenderer.dll
index 57548dbe3e98e949cb93807b9a68d7b37f393735..ba48e246063ae185bfe19c37d6ae6da5a1bf400a 100755
GIT binary patch
delta 11935
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

delta 12263
zcmccE#yqo=c|r%LX#SS~hG`58O%o@&GyUtBc*}|@gLASNqa35dWJhM1$$^aGtTR3_
zF#MRjaGLl;0~Rj5lGKV41_p)?S(7I*&SR{YY{*m&(z1$4hS6d2ai&N{hslb}uXqGA
z85le|4|{YTd@*gZI7<!V&B;?(EE&TmpJQ=jjF>FSx>@uJCj)~=>j96>V<ny*-MqF3
z85mw1n0%L2jZt$l3tOtj=`;q0m+$`l|G!h7fq~)08W8vXzyJR|dPN)FGB9}b@)o{j
zV0f`)@<cWlzH)8`2G7nHhL=1#f4*2X`7xUwqxEDVb_?T4d|-*rTObKjX$FSY1D(f8
z+nawgmNpq)^6Y#85|@=`V1RQJCfBm-FnyMqyqaB)@$lqZ>?VwLlleIu*w*qgFuc&1
z9Lf<a-jc$=z%TE>5Eksw{6=G^0s{ks;kOrVllOCoF{V$x#$n*@*<Hxt(aq%3dD^4f
zgX6zw+I^63zm>3gSUO9TNPBcTOB{DrU}Rum*a0FunvX<8#~lWl>Cw&R(fRRzfJEzo
ziaV2IIVUpuO@7ZQs_k*yMFnIL!~Y2%7#J9!$|eLbg4jMP9v<C{{{sYGFX5MWm~78=
zu|6E^xCGB`2afJ7DjOIW7<@VpckfZz0n*%hpoGiOvcQ19g%zydTjRJh*l>^5lO;kB
zqddBuIXsR#YcN1H2zqo2cyu28A0*&$+?fL`+FUKcP!j0a`J?lbN9WBKJOBOv-+G|J
z!K2%oqu!%8Si^Cr7y|=?W9JW#ZbpyJ5EYHiPatm?fHZ@=!^FVA@P7g*7+MeTcg$vB
zVCXD1=&Tm-==Rpw4Gx#qlO-`8y)G&NKHWVk3qT4=R3Z*OV><4l;sG_q0j#joMa2Sc
zwyWWR`pyy+4Uiq8pvbw@S)&qj+(jh-swV_Qzxd6_z|eWaqxncebX@%5367Q(0{pEX
z|NZ~(*d3tIdWpZK^#A|=FCYB-|DRvpg@FMU7>2iBpPVpZ!i1O7fByeZOVi_*Zvh#{
z@X{NJKY1;WI#UMY<ZC>gjCUs|@Xlg1n*5vBU2DdtjDiUh{;STq!N35b7lCP*5uo&B
z-~mcBybmYG@JWiW$AhAm_rMMYh8N!8sN&r-xsy-9`F0#g!be5Hqx0|!HL#42iiSrg
zYZXYTC?f;IPEZ_qbg~wL1h#;bgZ*j{eb}S(=6_MGo0H%0<roX6GB7Zea2;o52Qe5J
z7@B`El?XNeVl1(TrA&?JxWf}XdS!n;0cAVWPm{a(JJK3sK^#$`5)kE)@M5PB$UP-0
z8ZXkpG9C#YowqzYKfHJ##K7<(I+lT90wSaw!yH2$LqefR)T8rUH!tTBP>FHfr}Jp*
zN&Y@i<a>0pzL{Jp5Xd-d@@WA>j*P`13uF&YW)W0kbe*g&Xd~_z!@!UR3p$_P92EnP
zZdspeldA-k1?8_XF#Nv^&fvd1IzPVnK6#y>vwra+1_s9+4xkj>9RkWTJ}L&jj357t
zZn_F88u(lJ{{R2~UzFu4$XC3rlNE%d^t2W+FgSLHsBn1n@~RavF!*)57;wCp^A}VU
z@qR4?Is4O#UI>@1XmW;-I^)^N6NE$<w@h9tq^3Br3}lvUR~ZAtan=b7!6}8oL-PnI
zRV#ROvQ|!hBP5|4QO3aF+IpM6bv^?FgG;xl514<6zqKFC=XC({PnL>#^vYUHHWb!l
zJUcl-*orZ0@@!#6#)8Rvg|!@77cejw-ZuQ!dVs%g!N33ieY#aoT?Pf3?e5DA46kM2
zLDhVW(WCjWgtck#0tN>D-V#u$+RbV=SzSbvNo2v~AdwI9O7lUk=2gxI>30_J>2~Jm
z4&Zn(`4`yNIg=Ab#T2iC(o{F75HFGaf5D@h^$19yH-N*V+kwNQQ*`U(8KR1U&XEiZ
z%|HHk9xl;oz3tI!YCQRrsJ172Bm={1c5t@pJlyNd*m=mK+2$HU>8ICQx>>X4fg+=X
z?K8MQJkA<6kAVS{$zQjCvK>6(ICyl+_D{AGQ)H~2oFFEyx%UDCgHLygio$=<t_utd
zokyYc@&BT$E`Yq_qhio`?7!&Q$qU5vIsbx^X(uaN+~gZ#7V<T785sVHrh$}o%cjp`
zU~n}&;L#g;0-ROCFHF`KH?7y03yNzOkomG;g{*w@7#IvsdUTrh&IQHp<An?ioGc6n
zj<eof2ywATC+nkypde(`23zO)z@wYh0K$CnU-aI2kh6H_$AB#VcpgMrpJ!m$1u_Iw
z)QX-x52_VIK_<8gaCmgG&IP%l*A>Jx+WcAkBBOY~0#IO;s(Q4(Em833<;}<jImK-9
zZAlGY%>@h$J3*zbPp|6S$pTW!jJ1<Zq=ML&%?DZaVsfuk8k6Mw&0nRaF)BGO0EuOv
z0@)=Svj9|G-7Ycq=+@;p4HB{~JT-Z(j21^NNI@^}yUF)uq!~9&{w-svHUn(hp_3qG
zteYVTrv*fH$}R;{&I12Me@~8*mDMtx&%n@my7fRQzu^Io<|7Kxhxz3jKv}}0m)8<(
zOfuLQ(U8dtWz{)Yz(Q>&Ctr|N7P&bO<iO~Y3=FR?dvrSqcyzM9o6Ih!ommA=E~RPR
ztOfHxX^pY;wnr~-%REpxM9l-44$?U11OvnCLunJbS-rsOOVq*T+i_NNXzKE4KB93L
zB(DXLpZ4P8-~az#_j~m6T7a!yHF>t&T8SrD{{Mdw{~uJ-l|*|aiwax?WeL`^lN02#
z1rtG%cfi$PiG)WlZ{XxR^4dPCAW=|`G`!S$phVasnbrRaNRuefmH+?ww}&vXbzT75
z4l4c?K*fJA@5jsk|G&tAm=xfVEGi4u!Fp?QutJDnD@c;z-~az013h|KODFG8P-FC)
zd|yF=(RA_;1yhOtm;V2MQS}$>$~2E;R_)6m3r$~4c2z89Oqsk>u|ebY5l|c-@aSZ{
zIg5dTzqRB)sGb8gtbQhe0*v`6D7mxl*_@~p!N_=c^DgBw5m6goP>O%?_3i)vFDw3o
z%oNr2-Rx>%$jBt@Gr7X@E~EG6Fsn93#$}uDTFbC9R&W00z`?{M<+7Q@If;>R^W=0F
z6~?Z~Juc>qo|BKbOwzsQ$iUEg@)Lg~?;A%3hEM#FtXIHv1dKjdC-8}13#{VO<YreN
zCRwM+7hT^o&Y67BZ589s$vN%{j2|ZVx(D*{Ie^+YAu1Z5_yt%uPJZL=!e}zt(8Gv{
z(|&WRM>r$nfysM4Ert7RLA8e7LH>4DPLPcPqAim-z3ds6O!o9LWn#14+~8Hu&X~I?
zNQ;s2&}8jkJtkq3$<e{ijQ=*z55C06Xgs+n^q#hiAp?WsPEc*}i9hm88o$QDPyB*D
zDjGiBF(3y-vN9Wj43A)CHk{n&uDW?am=_b{qsgx$^u;grfpUF}ih@V$$<Axt79RYr
zH~)+FOg4<P;t!N&VDRj=bL>3g(al=Yx49}(m637n<ONaoOszeWA4W}P{4lvRI*duN
zXY$!-6~5CFpd!yj#lokTS3hy`|7a)0_X!LPzO5%cJFj_kp7Z2)ed*JA{J&_b1gIT$
z)T5iVdva3DONE79pvXPv(Rtmc^Kja67Zp1OhHj1jqLJbtw~3zGoE@9XBzi=IfuUPA
zE|!6z^IYqJQi;wRou&bk-^NQvE>Q>RKloo%x*eQ~O4K?({=d-4Dg#n`<2Y-92($of
zJ_2e!z^k6)tYIRM9Qk?<xV78-Mx$HQON4=;^-`%&H|w3ri3#HM?l99=w?Ryo_<vy+
zs0Qd{T^Yl`&?(9;!oUE|G2N^)VnB`e*RLl`m@om{<kjeA{gTSS;F0{X`3F;pL+gRk
zv<-|O+F9?Xf(uGNk6vD|e79_B8>o%o(aXz|24$=Ubv4-P*Zu#0oOKPfLFCaZvdyEH
z^&rU1ULH_A_pB9Sdvu(~{|6vT%(_{dQXxf;yhpceS{o>ZftrjvL5}`^xtlc^B3<$h
zq<k&N>CthAkF$C}?RY&a4O|yC+gheFFvK&Juzx-b7Vt<u>CwyT2DV$I(*t7vevtkD
zAArISTw?5C26f5WS^uYi+`v@A1uI$|7(BXV4MD1Vd6`n7epF1Id^ORS(Pc7cQYn+3
z(By_BaVF8|$upBw8Q)FbpJc=sJ^5483C35OcPCG0WIQ!FIJJe*cJhtXFvfS2_0zN%
z4{wf2lVoGuIk_Y!NjyvjoDMv?O?|2u82(=a_vlzJOn#dqTfd1NDVX3Xz@t}G7Od$e
zO!cow28NOo-3%VRqWYjBrBk#5uJiDO|EgTokf!piDhT}uO2hbv(D+>te!XfCgrN!*
zQ1ycHo1pYAC=D~<5|j_4i=cd%dL<}73rfQrunNkDsjmX_>;J35G(Z%>TB`q5t12Nr
znFXc0p!A~(i1;TceF%+)$#X%~3*n>dC;V5{f+{G28U)jL3Ca(G(!ZeeEGTURrK_Mc
zOkER{{|ZVcL1~!zP<^0c@&9DL{7;hum@Ot12nZ=iXB0rPJ%oHwHCd@3k8#50i3N|D
z>Unnk|9^T51i#q{q3=NH94HNv*V+01KM$1uX2<{kXLdl;&Oy=-Qb!`L2V33<HN*!>
z>+Jgf|IV)e|Mx)of1otT@HJ42L2PvFw;SRpWN|?}>Q8T}hiJ%wDyrH3|Noxt|Nq-;
z|NsBbw*UY4Z2SMe2SjiG|37CNM6Kht|NmvS{r~@P>;L~C!`Ezuh=VN6*$Pny5(n`?
z7{&(a_smPn%*!mPWbjM$V=!P~P#4(y|9`<A2%fO_|Nn%|jHTYp^)g}%3@#fO7!<@9
z7(R$GFa&IX&^{6j3^5xR7y=|17(yi&7&106FeFGYFo3F<oDB>N1riJl#*z#S1sfO`
z93&YSUP>}BG=TI<GBA9WWMG&AGE<6y;gl2u!;B3K3>Tyr7@kNmFf0J6kz!zwmu6sC
zv4NqUK|z{<p;MZHVZ#Onh6&OP43ni981`&nU|1l{z_3J`f#JXg28IpN3=CVO85oXi
zU|={P&A=cg!@zI?WC5s%kz-)E0&=Jv1A~<!1H%iDgA^GUN);Ix{%l}iXi#Kec%aC@
zz_JlS|50RM5ZK7Tz@Wsya9XLJfk9*=1H%OnN11^^1;kcnU?@^$U@+Opz|f$|z>uTH
zz+khHfuTT+fx%aUfx%}Z14DoY1H)bo28M`@3=9V}7#Qp|85lA)GB7x3GBDiNWMHTO
zS*FRrP_D(m&;T+=i-BRa76U`aMh1orS_}+dv=|tAK#r)_W?<;mW?-1Gk%3`?HUq;6
zZ3c!pAV+93FfiyaFf0Kn(qUjI&|zR$19F581H*J328Jyg85kDmFfhE)VPM#^k%8fZ
z4g*7-E(5~}kY&0I43>Hf3^zay(qmw7)?;9J05V^Xfnk~+1H%)LUOfheWqJ$@^)Em!
z(qmwFs>i_a24s*P1B0MG1H+e%3=9hT3=Hq}85sV6#Pt~%+zl8QST->*1Q;+d*c&o1
z@N8mWa4=+G_-n|(AhU^qfx(D@VU`gCgU%)fh6P3p4Ed%E3?`cx7z#`o7;-Hb7+gSX
z3kHT5O9qCRO$-bPmJIa_2W=P_3N|q?T(Dtam~P9!&;ZhG%fQfR$H36DiGg8)9Rq`!
z0|Ud1O$-bM4h#(8E({DyK$=|`82DWo7<O!8U=VO+U}*GXU^oI&@5jIpl)}Jp2c#y2
zf#H4%1H+F^3=9ua7#QSJ85kHgGcYKmGB9wZF);9Ku4iBnNMm5=NoQbC*v!B%A)SHY
zTRH=S&SnM%h71M<=1c|#o6QUi0+|d9*_jLs0h<{Z3NjfO7GyFoBy5JzpEDU4GC=CH
z7#L)-7#K=G7GyCnEXZbHr~s+SW?+!XVPKd563<~^sL5eqn6sIIp&^HX!Kyx&fnmvJ
z1_p;*28Ntm28InF3vwA4HsvxfY}w4fa3Gg~VM-nY!yb@9c?=BS@)#ISfGo>rU|5sS
zz;IzR1H*=V28L_-3=9u8GcY{JXJGhTz`*bVq^6L8!J>$Pfnf^+gF_JmgK04Xg8+zK
z%)roA%)p?sg@GY!LNNow$r1(zjV%le7fKiywv{q4m~3HSI8e&KaI}np!2u**#=!8R
zjDf*t3j@Q4G6sfM<qQk~Aa*$egJA^&Lk!5!3I+zR3I>LREes3+6$}jR6$}h1TNoH7
zR4_2eS28f<Y}wq{6vQ~GE|!~}g@Jt&vjI~AW5MQvx+$y^4LDfd=Y0v7%+aDC1S)Sp
z<qW8N0hKEsBsW{N9Am6s02&U3R4WV<zA!L=2CO$AiFy2BU|8{qf#Cp>Si}zoh8>?6
z7%m`*-T1-4aN-jK!;X(o!$3o(KN%P{d}d(i_=FIP`N_c0@CDAFoZZGdIe=NDehxwm
zEV%}azYmRn3(EflrMbR>wK2#+X%i^z1*M~)bRLv$fYP%dbUni=2!r7ml)eR}KS61x
zZx9P4ptKQ`_JGncP`V6CcR}eDP<jKDJ_4mLLFsp3+M9ua;XA|v0VoaOF)*k>`6f`>
z2}%b+=>#a91*OX-f9w>mp9JO2g3^ni^cpC=1xoLM(#N3m6)1fVO22^8U!e3qD9!N$
z;yw{5EeEAFAap%M7F2dY1mJx7M07m^1CE%cPei9MFfd?`>0uVpitvavLW}6E#PSlo
zl$@N&2YN+xxfonBi&B$Ij9r|IQWHy3Eg7~jxEQ-c_~a+11eX@2B_^l373Jsprsn1s
zRc?;#%4V(?`M|)CVw_?LG6Q6Z283T>8E;|?6SMiiz(6A`glX{Pz&_#nfDa4|w8pu`
zWywY0z++%Y`M|&s8tfWmYy|f7WGCiLlO-pJ^T0X<AEYu0HY-j#!nkP?BNL|p0|O5O
z0|S%Q=6{pFF;1HHKtzEJG?t*i0GcggVCVw%b=f9=nP$Qiz%e;sww#R~BLhPM2eO(<
zMh1og6p^Eh3=9sO$ZCX{7#KcqPHveV!6-9%;zDIcIWVa_`R;UOMuo|YGn6?ma6vUp
z4xAx8*<pqhqvqu38Oo{(+)!~)q%t%yF)&Pki|D0g=78D~+LIU0P-Zlke0+v7(*kag
zJH_WQF)(bvP-r|^ai+3x03Xaqm;siP!)GcpIS7KZYTjaEU}zA8DT$BIP0Y+=V0Zu*
zfoZave0ZiZ6N3;)lQ=Uo1H%O&m?oGKm&vlTl$kCFgOp58n8l*nAPQ3g@{Sub14Drr
zOa!LMZF1)<Wk&DGYiB8&ACQ2_g49<rLt6Qa46q2A#mvC)KoX_~W`gfz_SwpeQIoZ2
zD>F7s_Mfd>zd;J724v0?&=`g^vdB+nNV6YdvKR{k!vz#IdMpeK3^K^N99b9`3Q$A>
zSr`}=porwLFfe>jK@pn3!obiV3o{7j==jN^bCj7J<R%BqmXb~@C`v6(En#qwLsymv
zPC3bwC(luy{BI8L<im5snI?cWO`68Rm_7Ob9A%~jF#hDexdM~J=87<FfQc{`Pwt<q
z%=7`yFPnUQuClOzDY`vXlX>SUGftRnI8T|eZgS{6Wz`2EFg2hse96MVpb!cZfq9~N
z^4xjK<`cqU;vkiuLE#nw6Uj{~%1O;*U=WCeiNN%BP5wSlnW-QWlvu2JSQ!`=z?FcE
zkzr+EV2FZg0*R=zGB7B>MPSDCPcEIW%(NgHWQ=$UNJ$J#6HLk6$>--Q*B^+5iGvL5
z23Z(~EHWKrVLY<PQdS0r4Jab(Ss54}por`O=}JV_b&{2V!66A*<QhmMDj8Ym0V@N;
z1Qe0itPBhnQjpbrWo2MEkcuqwAEYJ?CIa)`qRFQhC^LOXoBUyclJJLgbm=9NRTnBx
zp0IEN<2rC!+5jeRPgY!{9L)hMg&2xUic*V;@{4w4!t}@I<R@n{FfatbMbcACQuE3f
z7&gE~%9D%1v3me60t#C%HU@@_$@3Q}*DIiihq5s+Fu-jDsZ3;JU=V<dBqrq-fmVQk
z`Z|!DnVguDlb_7M-~czLI5RyjF^7Sn0U=USl$V@az%T(W0y4Rpje$X<9!02)je+3=
zTqLcav?Q5<fnf$*1f*>O8>D*$u^uEcn~j0N0<I=LwWugBpMhZoTqLn1KNF<x23(}L
z1d`-CGTmWeSzJ<-oKeKUZ~?9eq-7}^149H{B)&8c9O4OZk+h;zP;t*-F!}3Z`TC7)
z3=9vzatzSwY9AW|gTd5{g8%<vB6rys7=AD_Fo34#AywK-HU@?p9LOT9><kQ`adLzj
zX?BonAZ9>xX|XdfJjepM9wN%XU|A0mLNVHvoq=HoilQ)f28IL_HM#5z3;`%=I@uW*
zI9QM!G>x5s!2m_qN~nXlK$SJvZ9CW}3oTWuKLXN>V%$Y`1_l8Xk(VG51_lODVuSbw
z6dVSu3=E)Z03ss7!N9Nq#Y!~}28JC>$j)-(U|?`SacEdQ2Lr<dsGA@LrGP>aw9*6~
z1vMZM0R{#{q)Y{gFeo62tmj~00F@gEHK#ck7(lCGIH9I9Fx=%}U^oGHP<(tvPJGH_
zg=I?hKRFl}1W?=snri}u638Biv*b7#7=ECn6>Uxi1_1^J280E+oD2*r;1+=N2Xito
zoInYc6i#$!mBeu}FkC=U)X2%e09y8dh^-z@1_lKbC(h(#U;veQh)CJQ$-wXe#ro5n
z3=9&Jd6&!A-{)jtXh4b7*PILt87LxuKt4f<W-cxU1`8CIsc<ncphmnq7XyO>iaBv0
zXQRYdSv?m6!v_?nb#gH<NT7IV3Ks)I1d3%FxfmD@Fe9h3Js_h|EIZA`zyMkcg$RaQ
zTnr4L)kYxSK;rHVml*?t28z+_+zbp2DAr4HGcX9CsL|z~oUlTv-j*8_lgP<0h?{|d
z14U^8Hv>Zjio06Dx{ynfDIgIPE9Y}FFj%1I+6YpE5_HGwxfvKh^*_ifAk4sUpPPXp
zh7&ns{p3c^MSP%EIizlY7Htwd3=9z{mKpLeFo0T8h(vD7!@yvH;zTc=dh`-8gNK2^
z1I71EAfw^hf^$++LDL5xP;$#e9tMUPC@Eku4+FyiXy$}?Yy%Gi!vz#4?&D!lVz6OA
z_UjEE28IPFie64OUZpJll?M`|h$4xFmw`cJa_%bmdO=<W2GC+MgikejA(0BQ7=#%Z
z9C^{Rb09ARLjj6Ssk{sf9w<eBEiVJZ1r%@1;03pFkqXPj^}GxW3c|?c=Ps!Ah%|Zz
zWIc+STf7Vm4^WK$!pp!=ffDlEd<@|1f$*3DA9@(-^VLJL5kip@9|MC2Ji<UB;m^mw
z@B_uNG?39K<!~h*1A_yK_0#zn7#5(2Yy^p*m~)(up`IZD#j-1W3=9WYzz&Bd&PRL<
z3<fA_-h-@XLe6ze{0s~dD3&SlGce3Ri69$(NM=D)1A+Vu4CV?b+A=`eP~2F?&%m$(
z#h_+>28NEwYuCv8F5+ik$UxD5gr9-o1&YWeeg=jUDEc4rqgVIu`572ICQGiB*96rX
z8&Fh>2rw`dpqQv20J1-Et$e*HsE%O}K&tEf1kek(1OZ53BD|d^z`y`nMG8vWAk4tf
zEx^FgfMUm70S1Ny6nCr_U|=|aB665TfPrDcWYKl<^*5l_f{I{>kxvB}7$i{A>_-6x
z1_KlWI0YFPW}sLrBgnvT14Tqf5Ym1^l;O^T3=E)oazv61sTX8m&_GEdse+Ik3vvty
zGceQ&GBAKf!Vub~3NkQMpp+l$1Q{4IP|VpQ2+9G-N$rXt149H#K7T6+9brTS@jpQZ
zh5!_UxP=%P0>J%ESQ}45h=D-^C4}^Z7#IprbXf~AFet#oEIvOkwIZ{G!2_lA^b=yJ
zN2_-egdmn698@EO?vE)#3=AJof_jk<1A_!g9luM6fnfsNdXNdAQHTH(T`z<f80t~0
zeJ)`Jh8rlENJ$tySsDpL+B%5n@DyfX@Ik4%l7$%<Kr4ko5y-@#mzk1SlBi+=as~)9
zGsMTI=B32PGcbT^MvxE_L#goQq7CtElDNn7E^OPxh+BGc^^OA)@$sI%0scWD@h+~x
z&Ox35A^t(}pb^B)Ry*66H=p0b$0S-0;>Y`i`uN0$c!c_S$GbR&IBveP?<M2pD+gYP
zfh8~unY{C$mS|>@nMr(3W>SiAN`+;7Vti&^Vs7f@`v=__MKe+pQ$SKE3MQ)@)&&4v
CFe(%P

diff --git a/lib/native/windows/jnawtrenderer.dll b/lib/native/windows/jnawtrenderer.dll
index e5465904230447c901d1ea3540cfa256b538b16d..bc476fd12152af7756df62fff719a5c820066962 100644
GIT binary patch
delta 8069
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
Mwo7lW-#(QI0DoplS^xk5

delta 8289
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

diff --git a/src/native/build.xml b/src/native/build.xml
index 45102fa6..d06d0e63 100644
--- a/src/native/build.xml
+++ b/src/native/build.xml
@@ -52,6 +52,18 @@
       <os arch="x86_64" />
     </or>
   </condition>
+  <condition property="is.running.windows_32" value="y">
+    <and>
+      <isset property="is.running.windows"/>
+      <equals arg1="${arch}" arg2="32" />
+    </and>
+  </condition>
+  <condition property="is.running.windows_64" value="y">
+    <and>
+      <isset property="is.running.windows"/>
+      <equals arg1="${arch}" arg2="64" />
+    </and>
+  </condition>
 
   <!--
     Cross compilation. It is mainly used on Linux to cross-compile 32-bit
@@ -235,9 +247,9 @@
 
       <linkerarg value="-ojnawtrenderer.dll" if="is.running.windows" />
       <linkerarg value="-Wl,--kill-at" if="is.running.windows" />
-      <linkerarg value="-L${system.JAVA_HOME}/lib" if="is.running.windows" />
+      <linkerarg value="-L${system.JAVA_HOME}/lib" if="is.running.windows_32" />
+      <linkerarg value="-L${system.JAVA_HOME}/jre/bin" if="is.running.windows_64" />
       <linkerarg value="-ld3d9" location="end" if="is.running.windows" />
-      <linkerarg value="-ld3dx9" location="end" if="is.running.windows" />
 
       <fileset dir="${src}/native/jawtrenderer" includes="org*.c JAWTRenderer_Windows.c" if="is.running.windows"/>
     </cc>
diff --git a/src/native/jawtrenderer/JAWTRenderer_Windows.c b/src/native/jawtrenderer/JAWTRenderer_Windows.c
index bf161c0d..a38548e3 100644
--- a/src/native/jawtrenderer/JAWTRenderer_Windows.c
+++ b/src/native/jawtrenderer/JAWTRenderer_Windows.c
@@ -8,10 +8,11 @@
 #include "JAWTRenderer.h"
 
 #include <d3d9.h>
-#include <d3dx9tex.h>
 #include <jawt_md.h>
 #include <stdint.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 typedef struct _JAWTRenderer
 {
@@ -63,12 +64,13 @@ jboolean
 JAWTRenderer_paint
     (jint version, JAWT_DrawingSurfaceInfo *dsi, jclass clazz, jlong handle,
         jobject g, jint zOrder)
-{ 
-    HDC hdc = ((JAWT_Win32DrawingSurfaceInfo *) (dsi->platformInfo))->hdc;
+{
+    JAWT_Win32DrawingSurfaceInfo *win32dsi
+        = (JAWT_Win32DrawingSurfaceInfo *) (dsi->platformInfo);
     JAWTRenderer *thiz = (JAWTRenderer *) (intptr_t) handle;
 
     LPDIRECT3DDEVICE9 device = thiz->device;
-    HWND hwnd = WindowFromDC(hdc);
+    HWND hwnd = win32dsi->hwnd ? win32dsi->hwnd : WindowFromDC(win32dsi->hdc);
 
     if (device && (thiz->hwnd == hwnd))
     {
@@ -103,9 +105,10 @@ JAWTRenderer_paint
                     hr = IDirect3DDevice9_BeginScene(device);
                     if (SUCCEEDED(hr))
                     {
-                        IDirect3DDevice9_UpdateSurface(
+                        IDirect3DDevice9_StretchRect(
                             device,
-                            thiz->surface, NULL, backBuffer, NULL);
+                            thiz->surface, NULL, backBuffer, NULL,
+                            D3DTEXF_LINEAR);
                         IDirect3DDevice9_EndScene(device);
                         clear = FALSE;
                     }
@@ -181,7 +184,7 @@ JAWTRenderer_process
                         width,
                         height,
                         D3DFMT_X8R8G8B8,
-                        D3DPOOL_SYSTEMMEM,
+                        D3DPOOL_DEFAULT,
                         &(thiz->surface),
                         NULL);
                 if (SUCCEEDED(hr))
@@ -209,23 +212,21 @@ JAWTRenderer_process
 
     if (thiz->surface)
     {
-        RECT rect;
+        HRESULT hr;
+        D3DLOCKED_RECT lockedRect;
+
+        hr = IDirect3DSurface9_LockRect(thiz->surface, &lockedRect, NULL, 0);
+        if (SUCCEEDED(hr))
+        {
+            jint y;
+            jbyte *dst = lockedRect.pBits;
+            INT dstPitch = lockedRect.Pitch;
+            size_t widthInBytes = width * sizeof(jint);
 
-        rect.bottom = height;
-        rect.left = 0;
-        rect.right = width;
-        rect.top = 0;
-        D3DXLoadSurfaceFromMemory(
-            thiz->surface,
-            NULL,
-            NULL,
-            data,
-            D3DFMT_A8R8G8B8,
-            width * 4,
-            NULL,
-            &rect,
-            D3DX_FILTER_NONE,
-            0);
+            for (y = 0; y < height; y++, dst += dstPitch, data += width)
+                memcpy(dst, data, widthInBytes);
+            IDirect3DSurface9_UnlockRect(thiz->surface);
+        }
     }
 
     return JNI_TRUE;
-- 
GitLab