Backwards incompatible changes in CVS




I've gone ahead and committed most of the stuff that I had queued
up. (Include Marius's Refcounting patch).

Here is a brief list of backward's incompatibilities that have
been introduced:

>From Marius's patch
-------------------

* gdk_pixmap_destroy, gdk_colormap_destroy, gdk_font(set)_free
Have been removed. Use *_unref instead and gdk_font_unref instead
of gdk_fontset_free. (This is the major visible
change - we could provide backwards compatibility stubs
if necessary - though it would be nice to make a clean break.)

* Refcounting is stricter/more correct. It is possible that
this will break things.

Otherwise
---------

(These API changes should affect very little or nothing)

* gdk_event_get no longer supports predicates for searching the
event queue. This was dangerous, and there is now a better way
(gtk_get_event_graphics_expose) to replace the one place it
was used in the GIMP.

* gdk_event_get, gtk_get_current_event now return a pointer
to an allocated structure instead of writing into a passed
pointer. The returned pointer must be freed with gdk_event_free.
(
  Basically, now the situation is:
  If you create an event structure by hand, you are responsible
    for it's fate.
  Otherwise, you _must_ use gdk_event_free. (Events now keep a reference
    count on their windows)
)
This was an attempt to avoid having 3-4 different ways of managing
events. Hopefully, it doesn't have much affect on performance.

* gtk_get_current_event() now strictly returns the event currently
being processed or NULL otherwise.

* X Focus events are only reported for the windows that gain or
lose the focus themselves. Should affect no-one.

* GraphicsExpose events are not generated by default. If you
need to scroll a window with gdk_draw_pixmap, see the new
scrolling test in testgtk.c


With all these changes (These are only the API changes)
I'm not sure it would be wise to rush off 0.99.1 without a few
days of testing first. The GIMP and testgtk seem to work OK,
but I'm still a bit suspicious that something isn't quite right
with window refcounting and events.

Here are patches against the GIMP. I'd appreciate if somebody would
take charge of integrating them into the GIMP.  My local copy is quite
muddled with XInput stuff. (Which means that this patch might not
apply completely cleanly - Hopefully it should be close though)

Regards,
                                        Owen

begin 644 gimp.diff.gz
M'XL("!*=F#0``V=I;7`N9&EF9@#56UESVS@2?K9_!9R'K*10,2_9.LJNRB29
M;'9S5.6H>=C:8E$41'%-D2J2LJW)^+]O-RZ"ESV:Q';&3FP1[&XT@`]]`7Z;
M+.CUE/B;S;$_3[>%MXC\.`V?!X=GW_]U^.GE9[*,8CHEQPLZC_SD>)6NZ7&8
MP,_@,C\.HS7TV^C;N#S,:)%%]#)*0I+!KSQ*$V(]'QTNHN62#`,RS.")U%0>
M#`:UI@-K,CD]MNQCRR*F.1V=3LV3`Y0S'`X[2<?$=*:6.[5=E*A_L1ZLT<BP
M3BS"&@CA__A77NQB2LY(6%QX[+.7T"O2Z\\.CP1%N+CPEFE2>,N,4M)C1,-S
M;`&BBAC>BL(D2YSZ"])[,GRQ2.=T^$\:7](B"OSA>[J(MNOAI^&'-%O[\7`X
M&%JN"3_5]Q--..IV%2U"6GB;;;[B>@I-&!F;&SE(^#S\ZX/<)AE=_J2C?%LB
M/UCY24+C_)'`W^B^$_].!?\.:2J.`&VT*FB;8]P%MCMUK`.4ABO=3:TV@F.V
M;P33'1N6.7+E5A"BY,0O:$P+F/27O/DWUDH&5:H^\'UCRQ8!4JKOAN?R>1-=
MK_U-7R`,L<);H(^\R-+=G9PSB>#C`2&?Z#J]I*184:DRX6QDF:5KUAY'>4'(
MX)CQR"EZ58KE]#D`-V/"/.3T&%>OF]RH31&HQ3:;FDBQW1YA(L56_;M.8V4[
MIW&:>7Y&_0??R5K/G9N8?5<V,OLF%;79/M8:Q*:TCFV7V/;4M*<V.C(NBVWC
M)O'=.WCL&.,QW[TH`QXGML0@X`@,\X(N<9*+E<$^KF@4KHJ9>IU?`73$>_:Y
M)#A\)J!X5*HF870`\+FB9.5?TN0?!0G3HJ`)"(P*L$&$7F_2G)(=+0P0<@!?
M9$"2E&Q2[#)*R"+SKW!2_617K/`#`.P9`S3,^#9+9NSI4"(<:!?IE8<[*8]^
MAWW44,@@3\4@GO(!E$`'9F\>`D"?:FS#<^&\YN%_WGSYM_?YRXLOK[T/'S^]
M?_'NO\"K@W&;7=+\P8$H>MT?A%)=!D#QT`*^<15\54(->&Y[#.6:KN%:IG0<
M!T2($$YH>!ZM_9!ZL#0P\Q^^OGN'ZW%PH]P[,W%5CM*R';3ZAU;JUH"ABR=?
MT3A6+*C,#1N]'(S8./<W&&FC[V<H&F@74;[Q`C^.YWYP\>#@K?>^-X@;ZB/D
MZHUW@KJ#08%[-#5/6\$].05G;I=FU;)=PW+<TK!RPP3BA^>L$V9[6`S,V@(_
MN?3SX3ETG09^`6-]SBAFK<S<8-W*73/*TG\'8,D@K'CSDBS3C.1!EL:QLJ:*
M4HCEK[TP$+%Z&/"PO]8KM[7]F<;.:',`([/KVXSFBDL)-<B73U]?:VQJJ*@H
M,)/MA@44G&/N9R2=YQ0PG>4JOI#8SZ,P\6,O2"%$"""00`O]\9=_O7[Y176\
MRN<+O_#[!GERZ<=;ZF%`$=+%$P.W)C@<X"HN/C-!OVZ3H%]V[*W2['=ONP%^
M:K2NOSTZ->RQJ26(("_,_+GG)PN/"Q*:&&1-P0<*?S-$PF4,^0I,\J\OWGU^
M/>-M5ZL(LQ><2T:.OHSTGA;K#7\VA,_T-AED20%J1FHKTN>2,$84'\JN<.ZQ
MI_+-M07-2OQS+OTYBRZN9R79KIMLIY%=VT#6`YG/.H@9O/NZ8,:QZ^90;KJA
M]2\?OWYX]1F[,XAI-/=9OZZ_9-@U&;1>]*&H+NP_T87.L&LRM`Z$$<3^SA/+
MBD-6B,&!H:[0/1G"$X`8!,/'G=4O>[Y!@0QYZ%[82O?Y<RD^]S@">GWAD=!:
M.>:)X5@B\]=\@F1Z:&]0]MOI!]R*#W")IBKNQ_*Q-.$C3(3=R=2U#Y`?!]Y&
M)BV]U9$!3VS#FIQJIAYLOVV.2E./YHN5>ICQ@CPN0(M,P"MO`PA5J3)>ZIVH
M#$D+R9K[E8"Z;CS[PFH*4ZM\?H,.S6M3*P8N3+E*2ZKPAT0\4.8YF1#)K1][
MD8LHXBX6^5KRM!<4QN`IS<E(FDZ>SX(EEBDOMWX\N)G57Q;I)@:"6+W')/?-
MXN(U,A'&*GA><67(@"E726K?+MFD;-(->!P6)I$H)^`DHH6!;Q*"?2&)'#'Q
M\SP-(IB0!60+X,B+E5\(5IS0(^&6,!Z#,"S#$3!EP()+XX\T^MA$>0U9*LTE
M!^I;&[!@$J$?_I<$I*=+T5<,>;R5GZ^\PI_'U(O3]`(&WI/+M0+?4NM&*Q):
M(\NPK!-'XOU'KM?@41>,+]!9U\+MLV3Z&I<>G._RGV4U=3N?^8L(W>U#VWG5
M[][QOJ8RL_?JL1GC.VXEQF^0:C;?'G5$=Y.Q89^8KA[?L3I'Z$'P5:091,-I
M`B985LW('W]``L:#_*,SLN$Q`F\5T3LVBTB@SW;1`1/9)9$EA@<M>6XWA]@S
MP-2EY9E>#H38OBE+!I,07(IRB=#?($.K-`OE#)6G!X\_0RQY?O3YT38:;$B:
M>=S!/_1FJ_:]]X:KJ8[;HMK4W'BN6=EXK>3ZYANW;SX($.R)GEKQ+X2"+G)X
MSI\D&&!AOR$BVL\.;N&<\9BYFZ*MI,,#::EKN0F^0U=1^OGQFM8!^5B'8+7.
M.R%I5^!HD[K2"HN-`RT`XPD$Z%/'G%H8]=LE$+L/OT93I]T-6)/Q"<3^$^4&
M^%373FS>8:.,=W2*ZFF-_J8.A^XCKUNX9AVBUWY^L;=DG:GK`(AQW'[\PV?Z
ME=3TMJ.?=E*C,L?R[$RM@]AG#[8.E2WY`U>A5>Y/NP::_>")YD,;#MGKWDY,
MJ8O;63XT'=>HZKAJA)JA<)UV0^$`/EU+JQ$X8VAPJ^=L:;SPK@WV:Z<=KV4!
MMN(OK16W*3:SWSM>,VU)FQ@]DUL6A]/E$BNQUS/U<M=XN>M(SD]-PSH]D>9.
M*U25G.39&=EY_&FF^SR$-Y[:25?47C8V6-!6%2T]61AX4<*KLU6"N@B-0I^^
MRHOJ#!I\64X=&-^DM4I_G^-3)?![&EMK&&6:K$RE,&F;CF';H]98Y5H,&,-Q
M.7@6I;25$=G!@7[*\-Z_H`2K_IAK;591D,OS70;4',M/9).E`<USR,?G=)EF
MM#R,4*+(@/BA'R7E6:]VFB'JXSV5M>N%<D]V+*JI76<6?93'9_&(ATI86(-8
MC+5JN;BH`52D&$2F\L]DS94U#,]%U3I(MZC:&3'[LIMOJK_.NH`BF&?4OU#/
M-T*G;JX;_21%+2<_'B=6>?!7N3A1T&NL,J0/;L.UCO<VX[K2B&WMN<68.Q5C
MWJ35[7G[Z9[CVH;CCDL[B`=%[';9@%T*4';A]GMR=UX$K%Z/4YKR%EGS$3):
M;]GQ:K[05EFU[]2V\T;?]ZO;[CS'E@$_3JMNAQUI("-/EM0Q1ZW;/D^C&I-=
M)Q.I4ZT9AB%UER\SBA=(//99EO<4EU8755I7G,E?UEI,^GVJW3KY)SB,DXFC
M3_Z-%GRJ(P3A]62QNR6C:`E=%7<8E.<.M1.,H)V#C5/K35O;$D^:P6,Q*S;R
MS+P<F+8^^PU,+,D##$OT=->XA!G?Q-MP&"5@6Y=1R'X\I"UOZ_U/9_)"640>
M_ZA?6[6MJ7,ZM4Y4WEXC$5;[9#IJM]K6Q,&C.F>L8QEEL)L)?!E[Z?Q_QCSV
MDPOO>K.N+)'(LB!@[@9Y3S3)@KQV"P<B0W8+X;>WK]Z\_H+]0%H%6987%73=
M-UBLP9=16A"EKH;0'Z2N*(3^&&7KL(N6>9"N,>+1/CX*!#LTV3N^J`P#H:0W
MU",,_*.!2H310JS`>CHU.VI+H]&I88U.G$J=$UT%B'M%\7Y+>46,8^-;Y?)]
M#9A-+OWF%TJNO6_6NF4=0L]$1,HA7]6O*QGR#PG$6/3<8O^Q<-0^UDCJ,(^C
M>1A<'(O_[&+HHX"\58\_;W%+U9G558^ZY46;:DY';FEYFV0*T!WW)"83VYA,
M--L;>LMMPJ\[0,I"L]X3D.J!HEL?LKYE*J$K_Z0C]'Q(#[.BAV.!]T=GR@PI
M\\:4TF$O:/%XAK\I;22Z7/F^C-NDFLKFWJN:'-%[*7D[#).TH/,TO?@)D%BJ
MLO]A;F4@`I=E2]WBCJ:653W2;:'6$6JW(M2U'<.U)]4T0P_<-WX(V4KAS\5U
M7K&T#5J^R/S&KP1BG5>[J]O1!;=7LH^CUCYJ1K[!W=(+0Y0B;!#<'+82BTJ[
MG*)*3O.WF"*^T^YU@L3.5'?(5H]T26ZU_WXK51[HE^56+9<G:CNM3BJW&43J
M'9<GQJXQGFA_<.(:$ZL2&'Q65^0&O/([JZX`'GF4-!";X@W?CB^6?<GJ^)N7
M(%'66F?H\%%4^]UGH0LT`(2*C.C7W31]4,!7]HK=H<O%44NW+IK(RG6X646D
1O.MTETP^O/\#\8E:I<$[````
`
end




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]