Mercurial > vim
changeset 7380:055a0b587a3e v7.4.995
commit https://github.com/vim/vim/commit/36e294c00c784b9ddd05a4fdbea2e331ab2b1ca8
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 29 18:55:46 2015 +0100
patch 7.4.995
Problem: gdk_pixbuf_new_from_inline() is deprecated.
Solution: Generate auto/gui_gtk_gresources.c. (Kazunobu Kazunobu,
closes https://github.com/vim/vim/issues/507)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 29 Dec 2015 19:00:05 +0100 |
parents | 0463a4e8a4f0 |
children | bda970de358d |
files | .gitignore pixmaps/stock_vim_build_tags.png pixmaps/stock_vim_find_help.png pixmaps/stock_vim_save_all.png pixmaps/stock_vim_session_load.png pixmaps/stock_vim_session_new.png pixmaps/stock_vim_session_save.png pixmaps/stock_vim_shell.png pixmaps/stock_vim_window_maximize.png pixmaps/stock_vim_window_maximize_width.png pixmaps/stock_vim_window_minimize.png pixmaps/stock_vim_window_minimize_width.png pixmaps/stock_vim_window_split.png pixmaps/stock_vim_window_split_vertical.png src/Makefile src/auto/configure src/config.h.in src/config.mk.in src/configure.in src/gui_gtk.c src/gui_gtk_gresources.xml src/gui_gtk_x11.c src/proto/gui_gtk_gresources.pro src/version.c |
diffstat | 24 files changed, 240 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ src/vim src/xxd/xxd src/auto/if_perl.c +src/auto/gui_gtk_gresources.c +src/auto/gui_gtk_gresources.h src/tags # We do need src/auto/configure.
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3ed7085b2e53c21d434c0908dd7122961648f60b GIT binary patch literal 439 zc$@*Z0Z9IdP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS0004QNkl<ZNQv!LJ&VFX5PivdrG$WR-Tf7@kbu8U!M|c7sD)SvT37}_v^cR4 zAt0oXgPqJ3=k2-9_yKob<%1CBWioH)&29obaRb3w%u3D&fC2y=@0YIEW4^gi`%6GW zr_)jSe!nlc&1S;@-oFc$G?gsNy!dc92o3=9JQsYLrd}Ls0_QNssC-crf@Ahw79DiE zUF3O=FbrLh)oKMI5<>I&T=3)Z*ju;|Xfzt4ZDR~-wVK++IUmO{+U>S$?JkRcgNF+U ziw1)MvMfWX^z&%3Sg0?r*K3SMBX8J~$pirGMS*&~u5L+f2E*YH)oRt_;y6aD)pGHl zTV$;TfVYPUoLUPg7WH~P?Du=Ow}T+Sa=8Q%ftg(aB2v%CbUM8*kR*wi0W+&J(9TD> zTt>6mbn#sl5s}JkpNg9n?RGnFTUu)|o6S(ER79~fO%X+rE6U8+Zns{}J^zE#XL>7g hu@=C~mE0%(5ud*0;i!WY+Fk$v002ovPDHLkV1jRcz<>Y%
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9214945d8d8c5a26762cd0b043e3102da37e7076 GIT binary patch literal 1717 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 LNkvXXu0mjfPv}0$
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1f9e781372083f754aa76b45c806406bdf8fdc9a GIT binary patch literal 1021 zc$@+K0|NYsP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS000BDNkl<ZNQt$UOK4nG7{`D2+&iz#Ofs1!jgcsdAks}q6%~a>E8=4zx~L!p zby>w_abZMV6m+AzsynNzuCl11DA9!!MQv<?RwcDU6)JgPl9|lh=Q-bTap%t5;>NV~ z50~?}hwt(Gz5@r~Fko-s_Z&GnfIa(bhrj$5i>FTT+S3oCTo)^X_&z8XdTSj9;3%+? zj*dbXE4=sVmppXj6*gNtyl`k=X4eCZ2N2p0fBb%#jrC1h-=2l;HVEiAhEfFy0^&*) zbVA$>aIjd{#cy}8V%XB7T=?YzOXrvK!B>F51F+UXjBw@3pWOEGhg_3B`XIluz41j4 zK#O2KVd0B2++bWMJpdPwNccZ+d09rbmsEzUTq?8LF}O()#DY`6Ni4QdrL*3mK2oC_ z8mi4v{IyjaD+J{xMW;xdSfppr0}$&VMw7=?t-IX!#_?U3;`3w2P)Z>>20#HwC>WI@ z%Hz5onO?viK%_v#^nML+EiEl!v&DZ<yWIw$;JHLmJaC{2mZFm$%5ZIOZ!<kTz3a&5 z=jT&9c|@_XgmIcuhO5zN?AmxHYb~}%B)w>fC5qCGJg(g$3d68JAMtWEPzeZWVKZF* z>gqKinwy(L8^P!#mq7u<q)}(MN_WpNJ3C7hMgNXeTRaS&=Uuh$`##0taa`rF){O=Z zz@mF?mEo#4rcljWsVOIoNG#S`JXcYS66!;xK0c)si8f4@iv&@E=PGoRLnM}dYi77M z+dfJumOnd*gG*zyNn>m;#u$uA5F?1uSS(2xu@)L+YlE4?N4b4+4@j;}wKo02_HkLm z%2%g(_KAZ${^V15o=3Sdl%BDcZfA$>))sLX@Z<7%7S3Iy+uYBkODi1MzYmdI4SxE1 zfdU1t!X<*=>F~&-k5R6adF##B*;ro#;O%$bWpi_bDDVjbpL_0qkW**AVd$0#5*<?U zEGA4HDB#``$6w|0&x_=772VWbxiUnh7kQ@6PMai75j6LVQ?CtEu2ksVRZ41bRsl<$ zoz?@VKY5=#E=dew;3LM6B%1ZL)gFIC9EXU}RBLr6Zl0n(Jc8B<*cdUIwZKwx1~o9i zIbZ~6Ww^RpNaBdV_wjunqfNhSqA*~zImY<JB&AZBC<+lV#8FH^EFu<b1~=IP8ff=$ zeShegBh(vBrtY|t9~Qr3YHEs?UpmUz-kSiZ)`qFqNASD?+gpG0+r<^4Fr<cyi9=!~ r*gmj<9H0!$aGg(=yAB-8=Fk5FTs@H;=86}p00000NkvXXu0mjfW+2#n
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..34251d1fe3538371b75b655c6d311b5bd340f70c GIT binary patch literal 1301 zc$@(h1?u{VP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS000EcNkl<ZNQvE+X>3(R6vuya?|pr35h~q~Qlfw*r3<^o1X)T`C?*BPxPXWo z5{QN`esaSPAc~lnD4+>xT#69TK>UDGkV0z(r3+BQQfW(DUi;ej+SiADOW(Wq&iJ9F z8leXCoB!lw&di*gGv}Q7PX_)E5Wu~_DWDDT0qSou70~{za}79k_{djtrcKMe$)L1! z58oU(%++SM)93R=?=*lhby`MoQ)9>Y+}td@JxxO!N+|%cbM9krX_UUc-{%4+2Q#{D zXn{a@#Ya2dNdpLn!UTgM!r^`*ktn8VGUlEnGP5U=oHF|PtgICMjx&(9ES@uGCXG$! z35G)0wnEo5bVI}8a3F*rCpUvGx3{3OqOKfB1hR+mw*oly*99@@{_*DbWnUW?F4bU~ zCXxOqx~^e343tzzsjzJu+m^(|jv_8L0Y{7jO$eM$CoxV3x^Ce2_prF&Dbmx^4VTMh z4`tBR*=^{Wj@#|Q>5Qd66ha6M!_ZMEY)j&djUhJ9Nz@7u>FYz;3ZV&<l-N>XnKr)O z>i{Grjfiu(2r}3!BM=B<S`wevPsB9&bmxA&9^ajodI;ywH&g>2U>9)E08k2o;Rscg zwN#%u&4`f(wzO{BsZt8dvM@~x%d|4Vk@@H&PtF&Z$;N<*O(+!RTwMdn$w^#k`SG@# z&YJqz(EO(}`>;%lNHmJy-$#EWM8e3pi9_uC?ebO5o;^*d|2k4ilu{_AhIA<<t*sr* z&0ERbyp>$M(1>B^lpQ&YVdz}=^$JT0*0OBr2C6D*XusBZQXx_d04XK4)eWSkrgFKd zf`R@BK%o=}F;K=;kH5-Wo8G|d>0#Xqn<&ViN4u+qg8X@Ge0d9RZ+e~GB_-_qcrS5r z&Nd-LzyN4%xyG6`tB6Ji2zG<TD3D5`2@PA?C<XZo7U1*skefYus60hQg)CoQOjl<I z851Yb)YzsH67H%J*j)yI|N3>-uU|{exw3(d*b*t_fIc`Xso1=ABMTQ5^2v@50XTZB z9A}Kql&l>5y&Z(YVU8WIR1Syn%a}2vYi(Qg7y$jD2yyW-1cPBL%f_|`PJ1JWl#=IG zzXrgP!i4}-R8-*ccxi8M=i<c%Hf&f&U0p4O1@lGOv6Gp#wGBVy<V;92016iuai!@3 zZnp>1w6QE}u(4_|BO6d`e}5ZUS(EANbQ6i%G&f(RtINZvgi$P6x{TJAX8OmE<Jo7P zxcl=j_xJeyrpc_?Q=aDL_kUO^TAZ&wE7_&Cy|-EA&7Q7OQ<K#P+qbE!&5i1%7gwvI z#rX>8W`Jx$%$l9~Fo<}-0ZIrVhQ0e9Pw#|lZJlo(I=DafTwOJJ56)%!j0foT^-zBN zDE0N{*<G?H7$5H}PE1Uxbh%u%m^m{u1C1nsh*wI9e~M6BbLrdf4j+mS1_A^EeYCbT z0}u*_0dRME@OrvAa`Z$WkN_w>EiFDQZ9RZeJ|%6hCbVwAdn<9fyI<M6??An-YiV1y zZV$)CIvt5gqp7dI$QPvt0^`PwjX6?Q{xgsYyvrb)L{=6e7(@V!9h*LEiE3&(CRvuO z0njv2Af-CEDF31K@)K1qAy}al#|KSk08KXn{1<fb=Vu`0RtA3nCDLvrA9!ef00000 LNkvXXu0mjf+a6#N
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5fb0626b7a8b767f15cb3b6fb75cfd49ac12f458 GIT binary patch literal 1034 zc$@(W1oiugP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS000BQNkl<ZNQu3cO-x)>6vuyW>M$RjuTqB)uxV*motWCV=mv;01Qkk<n7DwX z8WUZ(HPwaD#E-agLt2*@HJG|lz=~}QHmyU0P6-qWu}QJenhG7Jks>l5k9qfA7jNb< zACKB@Jjuy@_fGQr-*e8r=MMaj)(5CZ^pAjD4=bSN=jT->lTrU=x~{8*g$32y+pB;$ zPy=Xo(9%Vf$z<?&JP);-L?VIL>&5AG5{X0rJb+$^%rZym<Uw$ylr>5z(RH0rC`3a; z0|NsC09n9Y8HuBcWCNB`BBdxB@84g;?RFCk25E0^r@y}+AX6!_qd+yd)CK8u8kfrj zKsX#G8jUhII0*0!;3|qdW(PK1q7;SET+=jjL@Bnm@`OSmyS;S*?*JbId99qS5W=Ve zV+m;H8VV^SsZ@$|dXqnwmr34Da_!n2>3{Aq@cGvOdw}(-2&AkAD-=p9G>3+g=9*NJ z8dnX5;i9RjiMnu@P$<Za>oY}^e@B5zaPeCcnz^PFLI}Jb4<5H0!!QtrARMmac1=wY zwac~!QV4eY{MLM9W4)vX+ID0mMK=tCV9<{cd88C&yy7W31P}-Wn4X@->2z}Q_Zv8! zPNt@&XlQtX#>RatE-qGq^Z6~5GUvfS0I%0;D=?Evr8sluD>{#N(H3oHJbr<;Xfxg2 zJ-qks+e9LVX>EO`>c~`@-?zJLZl!4S`(ZXWH~93_C)ST09naF!)6Hsfh1!r0Fmtbz z!Z7mIT~Sg}s2F006vbY9{S5+s9{^)NT_hflqi+dTlPhGhSuRgZ^4-WVhLJ}I!xWOz z6qN!YOfT<5rhot@JD!UH5Rb=6rS6fqGR@GpL+n3rkZd+bYx6N)e&tmTN1j9qfl|@} zZ(q&|dND<7YkxTszmBt-yo<giSX#Qp>S~HWFu?PjFYw3hC35>3sjsi&?C2Q6rhTZA zHd2+M+S<MP=~JfxIC}Ic!jISD^ZR(~<Vo~gj^&jkckV1RdhP-ahr`-+5lr!0DJp|- zU|xvkAIC1Sr*<#d^xu5&;rq<a&eGZ0!4IP&09>A!<jXHU<LdO4?ZOtIqL8v;53@T( zm(HIXA-%cD{sRY@OiVDDm>`qQ0+7>nTAPp2+joNB=4T40ru>aiQ0TnMR)FJOFVffh z5<|mhX^XaS<Vb|Mx$FEq{tK~K3pW>UAq<1@i{}eq&B}KXDwSmF>I`;v2=hg<9`v?Y z%cK4QDD^jidMJP19GD$20L-v`N1nFb(t|ArtOL1!0e$btdY{WRuK)l507*qoM6N<$ Ef+K?8*#H0l
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6256c79de7ea3ab99f46d46110215d83336ab9db GIT binary patch literal 1280 zc$@(M1^@bqP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS000EHNkl<ZNQtGEZA{fw7{Gt`fA8hq3tU755kp$DxnfNPOM4p*U5IWut65D) z_K888TVd;iIA5Ah%ekhTn{%u&?E`*tSu?^Vk*ld7Fl-WL1T)}Xh&R3WfB$dioIb$4 zfPq;(+q0eLe_np)dCqgr^LO$8MNDhEAMDir!-7kJdy~2fup7R;r~&q*9q(H@9k3Np zkEnNc?%Wxys(L>Nw3L<<`}+Rqp|qsf2eceHd>{x60BwNFH3?8xIwSP!<FwSBWcQY0 zG`AZiB~sTxbHk*ax9N4hyWGIY$S~p1K*Fu@@iBZpKjBb6SFhcmzM(M!%=g3x7%D>V zZ#@hRjxc`p3Pi_1f@4|W3m{`LtUwB%Z{NbYqV=3SbsT_(OPBE_xp_MO8OBEY(PJ^{ z8yW%L0K5r+QZA&B_<ept5rNxI0;#~|#bqm$H-**vjsdWtq!@svrX~glhv@6;<JPS% zDl5xrZM{KhNip>ejkQ2h0^mrA@<>vGZr1EQIP2-U4t>U_pByGXe;MJ>0H!7A?*5%{ zc#yPtX>8cInckjmj3tlp?mKVg)SfvvoX8?KAWiv@<e8A_J$pHE`~(0iSFRu{GlSG% zDj)9Jg=rY{^@q57w~yL0=Y|34nVPClYNFNF)`p53)1<k%na<8m%FD~CsH~v3r<?r; z_OY_yIYvi@`TDE#0P!=}0eqjxqHj6|Xm0(P-Ya#~)YQ!BL0VcG=jzT7jYNn<?$g`T z4S*ht0Wc66WN7eD>KhuPKz70dX-I@7Nl#Dz$1oi{bd<;Q7W3tWixj=QhULri>FBt{ z<sYuHzWBws2LL1hrUp`qhlU8??Afzy+qRAN_I6I6K223s6_#yty}6z8-A6g~@dxpt z8)pDCuOi6>dMHFeLBX86FDxu18jU9Gs;VkFZvKK0g6zB}dG+lbod2Q*pmzqq5(>j| z@U2=)b#*nSY5r|-!%=t;csx_NQC3!luInVFW#QIbgrhU(O<gowVVZ(qdM;W<9;uoO zM@WQJD5dbYHIhu5V6ra}K26iG9YKyiiI{2QacelHGdn=DK_VHsr=w{a?e(>|aFaei zgY?XW2q6%{Mhb}(4hn^Bn1l_1935iq)(W1;Spd?S!vil!AwUVbnlA9>#v)2LZN}sA z;148Ej8Tec<UV8LqgY0aj`mhAHQy$hv4T5yx+q+ckCgW808lu>0V&ZV5!S!50e`^H z{(XBG8Vmz)_{cFvMusqBIz~+A+2>!P?&41*FUiJs3<4g7FlGW0PlZ&V6eLa7B!3{8 zz~s*361jg5+nNYL#)2$@scHBF0phpSH%s}Ndh8s5lmaOvModQvfo(eshC@g>@kUve zffNoYsX-PlT8!VHjN{n2m4y^8!ZC%<HOCp;{P7ZAyhI&|ZJES$9bMNEj!0yUX~dYH zkx5o|4nChB(=?D$V3`(PsgP2kgqRhu`sBfnuCIG-JHhk}a+faSM$0vFb8~sGvVzQo zivUPTO(PhbhsWb(Y;>4kZ+BrD2C29amVu>7R3c!g2SG3J=yiEkeX6i1-Yx?c0f9Kq q#Y9O+o>cF&@Bda56Mq;{Aodq>4PBTT>V=R10000<MNUMnLSTYn)mjJu
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ca9b8037c5bf777b166b8871baa6d4eceea1d208 GIT binary patch literal 2953 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
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c3aea0fd2167025c241a730820b97b6fed473a48 GIT binary patch literal 540 zc$@(o0^|LOP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS0005gNkl<ZNQu>zziSjh6vscau1JDi<_}0^BMBBMf<=tjED3gkT<#!*G@=$M z)1<Po3>Zx%LAc~P8%dZ(0x3cWdt5LFg0)v1%rz=T$z`9#a)V2<dvg+teBr_D+xOmg z-mhJ_>QDvm<TBy~Mb;v6PA<~7+wI&KVZSSNIvsb`S|dAiD5bF0I(?(j$n`JG;BRQH zk)=tvc>~!lp|$q%^CHk%Bb9M@cnd-WBg4q<ycbE|67{h8^&7m{qx|v#>uZOcohDv> zUIe{*Ypp3K@U(i2wU*NB{=VKl=t13mJCMC2c=h-;vO8aBY^`;Y2dRuxogO_;aP4{k zLm{$V8t8_Z;7gORa3`Zv0J6WBQY8Xifgit7Gg~4enLWru9LGdagzPOSLIr_>BrRtE z>0xvEBb;>M{b$t7*1x6j{TBp^^|eFSt89}uj!>%yx&B&fCl^7@*5IV;J;EX)Vy$%o zi0m&4kkK1sgq)9~_a@h#-Q!JV3<9W5k76E8T<#`6e=-3>AtXY1WePTqsCf8!WnisE z-G2w2pXro+_=2i_D%^*G2pq|5Egj+21FzuFr$nt*i)ORwo{cf6D8d*+9LG*yuh(;9 e{P$nx)yE&A!`u!OhIU;50000<MNUMnLSTYL#_`Jl
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f4173213e7bb875503324c355058fd4b4ab401fe GIT binary patch literal 514 zc$@(O0{#7oP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS0005GNkl<ZNQuprze*fY6vlsdTnS3L+y}4<1W_y{l_6b%O&VD<D6%i$JJ?tT z%%3VqU`-xClx>2NLL{)P$W~SsTP=4R6*aidmtuBJhM95iXoP%li+kof=R2G^=N|aq zpuI{Ve#w`(HaE`DZ~y^RXT|^scaI198D9bIEW$_$BEdx$)(<e%!-0N*uYh^+1v=-@ z6>J`P1-}!tJzt3bcZu|GQ;B0IN+jvtr`2jDR8n2k>2&UucC*<`+;e}jwH9mbz<`5z znF7{Y6i(js`)yd88%H~fxgse6Yb{!yhNY=nGwj=kh65NWp{;TzFV#ibo`=VepkyF0 z5P^CA8RuL&k-bWsVx)LJ&VFHDea(s;3rG?mZIz|{iav%D>Ius^mpFZUb!JTZz9216 z3s9|A>wn8Gk#i37`WswyxxR{U&ZV;N^KR_x2bg#JnY_%$&N+wa)wBE|i}45H?lED{ zCkwf+X`Vw-UP7SVZqsNqyaMN;Uau$a5B?T;?*ky7k2lZY^fGP)4|wkbg_AJ*G@g$q zqwxarfcMJWXq~{y58kf6<kS0~Twg`LuEkJv=|4Dr1OG7QtyNc)ApigX07*qoM6N<$ Ef_^RJPyhe`
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4dd17afd71621d9d9ae29e11f438be8f7d322ed2 GIT binary patch literal 352 zc$@)X0iXVfP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS0003ONkl<ZNQv#1u}T9$5Qe`!Peifv1*~iYYfFQ*wHN~_@&dktO?m}O5#kdB z(?%>(2*-(BWo2>I!8I0InB=$hG?1AyV&e}BJFxTrGdnZv27J(`eXux0P60IPxX#B` z-m}APmX;%kptrXPpw{g(%*n)*CLj&luo}Zu@HU3a2SV?0E{FAsLTFq;`3hq}|H(vN z2hyM^s>NP7T;yL<Tx4VcX4F8^k5-=N6~38mT9#$)u(K?y*zQ5|;$PtJ1-^ArQ52+U zTAMIQl8XK7gH{KwAiOn@22GcUM?gB+h4mG5b7U5=3P`OTIM{+Xz{VOHwoM||CzI>^ y1y1ic?(TDOe$V86YISu%8g*O`j<=QE-<A&^)Pt9m!T<IE0000<MNUMnLSTYy<(0Jn
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8aa4f67c08aa358c17cafc37fc3aeed8e8aa2bda GIT binary patch literal 369 zc$@)o0gnEOP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00004b3#c}2nYxW zd<bNS0003fNkl<ZNQv#0y-LJT5Ju0$hzLG}y&#s7$}+4EAc`R33t0LXf`V1B(Y3SF zPV7V^Ar=9jAVrF;6jm{2EMj5;8*kjOg^M4gxO4BEZ!+8;_?JOqnAffx%ap0AjbD-^ zMrXTCd4s`VWIPN*W3KTJx@x)%l=i#kC)GHm!O_MNdb<PNOjNg*Ia^yS16JWUGi$-T zjb3ezYofZp3cD-i7*GLJ@Ah)5Od(Zxc|&^ruPklcroQjvx^BMidJ7ijz!tCsG7!hh zTO^Lh`N0hgQ@DI8;HFbvl}N7-&#zz!C&v$n;{kcyQo>Fjk;D7n!oN+{FJPGR@tze7 zse+2W*J3SO)X1q`72{MrN;S@Oo#ctgcwNVFOcX^U=Yk+G8ch5}`}_I?Olfr(jx5iN P00000NkvXXu0mjf>*byn
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..dcf5a3c7bd5eb6a250684a4b5045626509b9b520 GIT binary patch literal 246 zc%17D@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf<gfK~aSZY3 zd^^RF>#%}=>-?qV1&@7;k3Bf1e8%mdu}?Usqw?G(OD<esZ)*Cp`~}Y)zEIW+#?GOF zf~$}Bb?8j$dw!31PBFukDBtCtnrn*%6<ao}lV8@toRd18BkEt%_LBV>3#T~sTof@n zzd1I*i}65pK9{}HZ@&3kxE5rK9(E54{d}WsTdP@3ip6!UsJi`pc^VO1Z*_7P?mTFB s)>1x8^s>p@XS}S-p3DopSGtFx=hY@=|72G$pu-tFUHx3vIVCg!0JFSZ;{X5v
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7522d1f29411a7417d909a80304bb71f52664067 GIT binary patch literal 196 zc%17D@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf<X3yTIEHw1 zzMbO8)u15Yy8qHz+r>LRa-2KVn!X`aEbU`&lh|hmmdao0EUZ)R2W01dzIwv)^0_w4 zv<X{hNM8RIyJ70acbD9!1+^`05%A0I$!<T^ozcLS;qZNuD~sW=g)jCV7ykbFe4hQ@ sP1Vmb!c~+Q8m3&zeSOaIRA5HfznjxOM4Vh@4Ri*Br>mdKI;Vst0MUd`TmS$7
--- a/src/Makefile +++ b/src/Makefile @@ -1199,10 +1199,10 @@ NONE_INSTALL = install_normal ### GTK GUI GTK_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_gtk_f.c \ - gui_beval.c + gui_beval.c $(GRESOURCE_SRC) GTK_OBJ = objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o \ objects/pty.o objects/gui_gtk_f.o \ - objects/gui_beval.o + objects/gui_beval.o $(GRESOURCE_OBJ) GTK_DEFS = -DFEAT_GUI_GTK $(NARROW_PROTO) GTK_IPATH = $(GUI_INC_LOC) GTK_LIBS_DIR = $(GUI_LIB_LOC) @@ -1527,7 +1527,8 @@ TAGS_SRC = *.c *.cpp if_perl.xs EXTRA_SRC = hangulin.c if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \ if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \ - gui_beval.c workshop.c wsdebug.c integration.c netbeans.c + gui_beval.c workshop.c wsdebug.c integration.c netbeans.c \ + $(GRESOURCE_SRC) # Unittest files MEMFILE_TEST_SRC = memfile_test.c @@ -1869,6 +1870,9 @@ os_vms.pro: os_vms.c if_perl.pro: auto/if_perl.c $(CPROTO) -DFEAT_GUI auto/if_perl.c | sed "/_VI/d" > proto/$@ +gui_gtk_gresources.pro: auto/gui_gtk_gresources.c + $(CPROTO) -DFEAT_GUI $< > proto/$@ + echo "/* vim: set ft=c : */" >> proto/$@ notags: -rm -f tags @@ -2441,7 +2445,7 @@ uninstall_runtime: # We support common typing mistakes for Juergen! :-) clean celan: testclean -rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o - -rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c + -rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h -rm -f conftest* *~ auto/link.sed -rm -f $(UNITTEST_TARGETS) -rm -f runtime pixmaps @@ -2578,6 +2582,11 @@ auto/pathdef.c: Makefile auto/config.mk -@echo '";' >> $@ -@sh $(srcdir)/pathdef.sh +auto/gui_gtk_gresources.c: gui_gtk_gresources.xml + $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $< +auto/gui_gtk_gresources.h: gui_gtk_gresources.xml + $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $< + # All the object files are put in the "objects" directory. Since not all make # commands understand putting object files in another directory, it must be # specified for each file separately. @@ -2663,6 +2672,9 @@ objects/gui_gtk.o: gui_gtk.c objects/gui_gtk_f.o: gui_gtk_f.c $(CCC) -o $@ gui_gtk_f.c +objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c + $(CCC) $(PERL_CFLAGS) -o $@ auto/gui_gtk_gresources.c + objects/gui_gtk_x11.o: gui_gtk_x11.c $(CCC) -o $@ gui_gtk_x11.c @@ -3145,6 +3157,16 @@ objects/gui_gtk_f.o: gui_gtk_f.c vim.h a auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \ globals.h farsi.h arabic.h gui_gtk_f.h +objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c gui_gtk_gresources.xml \ + ../pixmaps/stock_vim_build_tags.png ../pixmaps/stock_vim_find_help.png \ + ../pixmaps/stock_vim_save_all.png ../pixmaps/stock_vim_session_load.png \ + ../pixmaps/stock_vim_session_new.png ../pixmaps/stock_vim_session_save.png \ + ../pixmaps/stock_vim_shell.png ../pixmaps/stock_vim_window_maximize.png \ + ../pixmaps/stock_vim_window_maximize_width.png \ + ../pixmaps/stock_vim_window_minimize.png \ + ../pixmaps/stock_vim_window_minimize_width.png \ + ../pixmaps/stock_vim_window_split.png \ + ../pixmaps/stock_vim_window_split_vertical.png objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \ @@ -3197,7 +3219,7 @@ objects/gui_gtk_x11.o: gui_gtk_x11.c vim auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \ globals.h farsi.h arabic.h gui_gtk_f.h ../runtime/vim32x32.xpm \ - ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm + ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm $(GRESOURCE_HDR) objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
--- a/src/auto/configure +++ b/src/auto/configure @@ -636,6 +636,10 @@ GUI_LIB_LOC GUI_INC_LOC NARROW_PROTO MOTIF_LIBNAME +GRESOURCE_OBJ +GRESOURCE_SRC +GRESOURCE_HDR +GLIB_COMPILE_RESOURCES GNOME_INCLUDEDIR GNOME_LIBDIR GNOME_LIBS @@ -8907,6 +8911,86 @@ fi fi fi +if test "x$GUITYPE" = "xGTK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of Gdk-Pixbuf" >&5 +$as_echo_n "checking version of Gdk-Pixbuf... " >&6; } + gdk_pixbuf_version=`$PKG_CONFIG --modversion gdk-pixbuf-2.0` + if test "x$gdk_pixbuf_version" != x ; then + gdk_pixbuf_version_minor=`echo $gdk_pixbuf_version | \ + sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/'` + if test "x$gdk_pixbuf_version_minor" != x -a \ + $gdk_pixbuf_version_minor -ge 32 ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK." >&5 +$as_echo "OK." >&6; } + # Extract the first word of "glib-compile-resources", so it can be a program name with args. +set dummy glib-compile-resources; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GLIB_COMPILE_RESOURCES+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GLIB_COMPILE_RESOURCES in + [\\/]* | ?:[\\/]*) + ac_cv_path_GLIB_COMPILE_RESOURCES="$GLIB_COMPILE_RESOURCES" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GLIB_COMPILE_RESOURCES="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GLIB_COMPILE_RESOURCES" && ac_cv_path_GLIB_COMPILE_RESOURCES="no" + ;; +esac +fi +GLIB_COMPILE_RESOURCES=$ac_cv_path_GLIB_COMPILE_RESOURCES +if test -n "$GLIB_COMPILE_RESOURCES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_RESOURCES" >&5 +$as_echo "$GLIB_COMPILE_RESOURCES" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking glib-compile-resources" >&5 +$as_echo_n "checking glib-compile-resources... " >&6; } + if test "x$GLIB_COMPILE_RESOURCES" = xno ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot be found in PATH." >&5 +$as_echo "cannot be found in PATH." >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: usable." >&5 +$as_echo "usable." >&6; } + $as_echo "#define USE_GRESOURCE 1" >>confdefs.h + + GRESOURCE_HDR="auto/gui_gtk_gresources.h" + GRESOURCE_SRC="auto/gui_gtk_gresources.c" + GRESOURCE_OBJ="objects/gui_gtk_gresources.o" + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable." >&5 +$as_echo "not usable." >&6; } + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot obtain from pkg_config." >&5 +$as_echo "cannot obtain from pkg_config." >&6; } + fi +fi + + + + + if test -z "$SKIP_MOTIF"; then gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
--- a/src/config.h.in +++ b/src/config.h.in @@ -452,3 +452,6 @@ /* Define if Xutf8SetWMProperties() is in an X library. */ #undef HAVE_XUTF8SETWMPROPERTIES + +/* Define if GResource is used to load icons */ +#undef USE_GRESOURCE
--- a/src/config.mk.in +++ b/src/config.mk.in @@ -158,6 +158,11 @@ GUI_X_LIBS = @GUI_X_LIBS@ MOTIF_LIBNAME = @MOTIF_LIBNAME@ GTK_LIBNAME = @GTK_LIBNAME@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GRESOURCE_HDR = @GRESOURCE_HDR@ +GRESOURCE_SRC = @GRESOURCE_SRC@ +GRESOURCE_OBJ = @GRESOURCE_OBJ@ + ### Any OS dependent extra source and object file OS_EXTRA_SRC = @OS_EXTRA_SRC@ OS_EXTRA_OBJ = @OS_EXTRA_OBJ@
--- a/src/configure.in +++ b/src/configure.in @@ -2500,6 +2500,40 @@ if test -z "$SKIP_GTK2"; then fi fi +dnl Check the version of Gdk-Pixbuf. If the version is 2.32 or later and +dnl glib-compile-resources is found in PATH, use GResource. +if test "x$GUITYPE" = "xGTK"; then + AC_MSG_CHECKING([version of Gdk-Pixbuf]) + gdk_pixbuf_version=`$PKG_CONFIG --modversion gdk-pixbuf-2.0` + if test "x$gdk_pixbuf_version" != x ; then + gdk_pixbuf_version_minor=`echo $gdk_pixbuf_version | \ + sed -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/'` + if test "x$gdk_pixbuf_version_minor" != x -a \ + $gdk_pixbuf_version_minor -ge 32 ; then + AC_MSG_RESULT([OK.]) + AC_PATH_PROG(GLIB_COMPILE_RESOURCES,[glib-compile-resources],no) + AC_MSG_CHECKING([glib-compile-resources]) + if test "x$GLIB_COMPILE_RESOURCES" = xno ; then + AC_MSG_RESULT([cannot be found in PATH.]) + else + AC_MSG_RESULT([usable.]) + AC_DEFINE(USE_GRESOURCE) + GRESOURCE_HDR="auto/gui_gtk_gresources.h" + GRESOURCE_SRC="auto/gui_gtk_gresources.c" + GRESOURCE_OBJ="objects/gui_gtk_gresources.o" + fi + else + AC_MSG_RESULT([not usable.]) + fi + else + AC_MSG_RESULT([cannot obtain from pkg_config.]) + fi +fi +AC_SUBST(GLIB_COMPILE_RESOURCES) +AC_SUBST(GRESOURCE_HDR) +AC_SUBST(GRESOURCE_SRC) +AC_SUBST(GRESOURCE_OBJ) + dnl Check for Motif include files location. dnl The LAST one found is used, this makes the highest version to be used, dnl e.g. when Motif1.2 and Motif2.0 are both present.
--- a/src/gui_gtk.c +++ b/src/gui_gtk.c @@ -140,6 +140,31 @@ static const char * const menu_stock_ids /* 31 */ GTK_STOCK_QUIT }; +#ifdef USE_GRESOURCE +typedef struct IconNames { + const char *icon_name; + const char *file_name; +} IconNames; + +static IconNames stock_vim_icons[] = { + { "vim-build-tags", "stock_vim_build_tags.png" }, + { "vim-find-help", "stock_vim_find_help.png" }, + { "vim-save-all", "stock_vim_save_all.png" }, + { "vim-session-load", "stock_vim_session_load.png" }, + { "vim-session-new", "stock_vim_session_new.png" }, + { "vim-session-save", "stock_vim_session_save.png" }, + { "vim-shell", "stock_vim_shell.png" }, + { "vim-window-maximize", "stock_vim_window_maximize.png" }, + { "vim-window-maximize-width", "stock_vim_window_maximize_width.png" }, + { "vim-window-minimize", "stock_vim_window_minimize.png" }, + { "vim-window-minimize-width", "stock_vim_window_minimize_width.png" }, + { "vim-window-split", "stock_vim_window_split.png" }, + { "vim-window-split-vertical", "stock_vim_window_split_vertical.png" }, + { NULL, NULL } +}; +#endif + +#ifndef USE_GRESOURCE static void add_stock_icon(GtkIconFactory *factory, const char *stock_id, @@ -157,6 +182,7 @@ add_stock_icon(GtkIconFactory *factory, gtk_icon_set_unref(icon_set); g_object_unref(pixbuf); } +#endif static int lookup_menu_iconfile(char_u *iconfile, char_u *dest) @@ -262,11 +288,12 @@ toolbar_button_focus_in_event(GtkWidget void gui_gtk_register_stock_icons(void) { -# include "../pixmaps/stock_icons.h" +#ifndef USE_GRESOURCE +# include "../pixmaps/stock_icons.h" GtkIconFactory *factory; factory = gtk_icon_factory_new(); -# define ADD_ICON(Name, Data) add_stock_icon(factory, Name, Data, (int)sizeof(Data)) +# define ADD_ICON(Name, Data) add_stock_icon(factory, Name, Data, (int)sizeof(Data)) ADD_ICON("vim-build-tags", stock_vim_build_tags); ADD_ICON("vim-find-help", stock_vim_find_help); @@ -282,7 +309,28 @@ gui_gtk_register_stock_icons(void) ADD_ICON("vim-window-split", stock_vim_window_split); ADD_ICON("vim-window-split-vertical", stock_vim_window_split_vertical); -# undef ADD_ICON +# undef ADD_ICON +#else + GtkIconFactory * const factory = gtk_icon_factory_new(); + const char * const path_prefix = "/org/vim/gui/icon"; + IconNames *names; + + for (names = stock_vim_icons; names->icon_name != NULL; names++) + { + char path[MAXPATHL]; + GdkPixbuf *pixbuf; + + vim_snprintf(path, MAXPATHL, "%s/%s", path_prefix, names->file_name); + pixbuf = gdk_pixbuf_new_from_resource(path, NULL); + if (pixbuf != NULL) + { + GtkIconSet *icon_set = gtk_icon_set_new_from_pixbuf(pixbuf); + gtk_icon_factory_add(factory, names->icon_name, icon_set); + gtk_icon_set_unref(icon_set); + g_object_unref(pixbuf); + } + } +#endif gtk_icon_factory_add_default(factory); g_object_unref(factory); }
new file mode 100644 --- /dev/null +++ b/src/gui_gtk_gresources.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/vim/gui/icon"> + <file>stock_vim_build_tags.png</file> + <file>stock_vim_find_help.png</file> + <file>stock_vim_save_all.png</file> + <file>stock_vim_session_load.png</file> + <file>stock_vim_session_new.png</file> + <file>stock_vim_session_save.png</file> + <file>stock_vim_shell.png</file> + <file>stock_vim_window_maximize.png</file> + <file>stock_vim_window_maximize_width.png</file> + <file>stock_vim_window_minimize.png</file> + <file>stock_vim_window_minimize_width.png</file> + <file>stock_vim_window_split.png</file> + <file>stock_vim_window_split_vertical.png</file> + </gresource> +</gresources>
--- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -22,6 +22,9 @@ */ #include "vim.h" +#ifdef USE_GRESOURCE +#include "auto/gui_gtk_gresources.h" +#endif #ifdef FEAT_GUI_GNOME /* Gnome redefines _() and N_(). Grrr... */ @@ -1434,6 +1437,9 @@ gui_mch_early_init_check(void) EMSG(_((char *)e_opendisp)); return FAIL; } +#ifdef USE_GRESOURCE + gui_gtk_register_resource(); +#endif return OK; } @@ -3620,6 +3626,9 @@ mainwin_destroy_cb(GtkObject *object UNU IOSIZE - 1); preserve_exit(); } +#ifdef USE_GRESOURCE + gui_gtk_unregister_resource(); +#endif }