From b58e1263d5bde8689f0ea1d2f95ef1a7ece04c40 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sat, 18 Oct 2014 16:26:13 -0400 Subject: [PATCH] rehash() bug fix. --- Jupiter/Rehash.cpp | 11 +++++++++-- Release/Jupiter.lib | Bin 246788 -> 246788 bytes 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Jupiter/Rehash.cpp b/Jupiter/Rehash.cpp index 88c9393..fc5af2f 100644 --- a/Jupiter/Rehash.cpp +++ b/Jupiter/Rehash.cpp @@ -59,14 +59,21 @@ unsigned int Jupiter::rehash() if (rehashables.size() == 0) return 0; unsigned int total = 0; int r; - for (Jupiter::DLList::Node *n = rehashables.getNode(0); n != nullptr; n = n->next) + Jupiter::DLList::Node *n = rehashables.getNode(0); + while (n != nullptr) { r = n->data->OnRehash(); if (r != 0) { total++; - if (r < 0) delete n->data; + if (r < 0) + { + n = n->next; + delete rehashables.remove(n->previous); + continue; + } } + n = n->next; } return total; } diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index ddc126e8ecf0a8d993cf2725213ce956cd179469..7b72af9de1fcf84b41417bd9b8ffb7429dea1bed 100644 GIT binary patch delta 17198 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 L0|I|P=CuBQBIK2b delta 17198 zcma)Edt6pk*5;gprih|xfS2%936T`RyXFNiDPBWUGg8E^hF2_&h!n4xnv!p_(<~{| z@fKp5npt9&(=?_uU(;A)N;5T|(->+qm6hqNwf1=qX9N9yuHmJheF1I zEKPf9v>n;BQ`e+`{+Agx!m>l=92+q9&5)1~TO|**o2z-l?emq?DrbbE&uw1UXHoL&eF@}ZS?+w-b&gDJE1P?F@p36 zRnLsJd#R+m?VD8E3_H@t>)Zs*t0K*w>RVo)tCyFJwjcDCMa33lpkiQ!Eh~q{*b_7j zds5A6?lcz3-AHm>b##m!8%!BoS6!cMhx??n%0f1j$ijq7mGrY}1xs2+sY_2e;i}(g zJIdwzj2*2;jkRx-4YO%OJ#WK6RW{act?5b&U89qUBwUkp9BsGtX}4yat+ne+B=xm+ z1uxWA-FMh+G+F+SE|V@q(Lgh~bG+To{p)yb^se!CnqGnL+uwy~5GJA&2PvEbFpStV z3JDDf?)j>3RVS29)^W?6VBfE~$zBdhJ>ENn_BIX)E$nM`=IFK8G?{m69ai0K->X-| z@sq!EVUcd9>*cbCG~u>%d!k+`pY9shi#SKA-RX9Gjls#$8{fGHp-uZ(uMD1OXZU0u zndn-18}VyKR;skaR!26|^(K&=ISH^S;$VI=$-a@1eQlDxRLiG##*q8~0exnQHAEf0&yNU+0wbaoN1@=GTU5+6f?_4S$e&Sa z#$ZQsZQc}wB7ZzBUw=e9HSAt{lopw`*mYrBVi~I%-Aft1X@VW$V_2>=FTBsExK0eV zaQS`Eo+OAp4eke+L}te^T9wuJ+rwPvh$=I*Ds>*PNBEX!J>Vibf%HjG5f6}iFCDR} zC0ynrGUw*`n#Z*V>_I*rY^Aud1Mz4d5*nO6x2ea(jU?O6>R)=$PSsn1-l-44WdPjO zhX6S3L|60WQ=vI2qq9Gb1SYFBQ|)H##9K6DQT5znt!nPW_Fzv{t--^FyVwD&*z7F0 z%d11Y{7n|zExC2iG?#iB3SRj_SC@{YOLuiS%Wk7m^6fZRsEf+{L4l(2K8OSpa zDV`5|5frlrSurZbeP~-B+V<=q ztF5{?$f~C%&qC6X08NxcM13_;D^C@-ShCr|iOuc@qAEx(_}ukPA`zvi-PshU{N^O= z(ikWTTqI=!7h)fxvMn1?F=9SY^Qw$F=Zuv1?j&iDdifFiW|cC?YGj&4S>#4L@Cf*d zIONO*bJ+m)5CV3_h1S06#JYt8#VkNYV;Hl*9ScyGjB*vo$FgUFID)Hl zCOcw^MP;GV5zxQkLPP)SZpkcI2*80bd=Utt$*M($NH$$;WCT1wu1y}MCHesXOY;`P zQp1Y>EUw0qZO&Q(Z!&;H2&e1ABxKVtt9>=NxUreO6e^c4)y})H)P7V0n^vM#-ZI?| z6fDDX$!VAWXyQME0#)(VU=>(tfLO{rcOaq&cOWxKk)y+{q^gwMg$U6oBATU%5>#e^ zeT%OnmBwWCzeJP5r|m+mpLdqXe(q_r_5QYM_8F?}KR@k3+UXp+(4jSaMmxLrGj^tHjJtB;8JK63-N#j{HFkn$mme?U26ULs*5Ksheo_?Ue)0)Y zth|3mpJHU7I5S;d+?JAz-e{*CQw_ zS%Sh%?`neG%rRD6)s#TL{oDo|AFwR?g{lf~cmWDySF?@SWi(YUZA4RLxVhVlaI=Az zb);JISSv1=c1K+m^BOGVJOo5Wz2t|87{%wP(mNB>?(IMWV*mW6s*VX1!7+Z$JBs|A zB`hx^2+YgtMK-EEMRvT(A8XZC7mFb-?G^3yyjSdeiFe^Bxv2e(z_p10l4-E-A;b%fOWE#@nBRAnw3A0@SRs%LlDx2pV?kjb1F zUe~mX{~E7mr&GDD9`KA^{(#FSE=I-bXfa)Ge;Zn}U-Mh#2`iC(za{KYagD-WSJ@?` zf9VDU2Zis%?wSf;R*7FUV=r+}jSk(8b_5Qs5_5clEl*fwws5a1J_5tW&$f!5~8D3+>o_p{hS`t~teZBl3m`GoP zdvC^@xc71cB!!k+|KlOGLR9iOtGUX5lUj^QZy8O|utP8>|1IsH(nB?}`vbGfY*U>b z_U(EL`!GZc90st^ac(<|juW$&E^niZaz7x-b3bsBPKn^rzow{yQk2ll_qBc*@7Ouo z-QFQ3rC>O1D+>u-dnQHQaRenzI>Gt-Jdu1%Wj1D#HCzQg0cYWZ0c2_^t^wX& z4$0q2?Ri=%j+Es`5oF_B2zwU>0n^XF3ryp5k2wYmV$fD{%#b?&L)}dbdk<3CJFLg0 z_iz@&AFJMnKftWZ@fw+(JPu~n9e0*$XvOJjp1b;ctw+NTAj9z0!4C{U>}QD}`}s>g z=L^2JhWQ)~1+VwLp`1qAE@FN1!oO zFa5|+fmLVsrk{k5TwM!K8FUEDhEt#uu3V>hdrBF41zZYFm!bOy;`2TRK;VwBKS73< z?&3xsTwP)}mi^OerB3|`4&ecz5b%KTGH1%iX9oK+h0gJ4Rq}tXQ!|L@J929Izwh*g zf-_Ql&OO<`>CfR6$!gLuDioE&boAQSK0$%RnY#MVIQB%=>00`nkN(tN;#R_?bYDI2 zsrJeVZ&|1ddTQ$Yzu5CNwWl!qF!3~&`M$&}XHMI5G$9K8{LfJ6%hKFi(A{LmRYvjQ zQH7Q7YEh4{Fw1Hd3`EvZ zyU#%>qb06gNfWNdWrH)@E`oX1b%Um9qkh=z)HE=wqyHXI9lpf(1w)Uz^!MaxRx?$e zMbolDGf+PbMZ$bUbyUZ{fs>(0Jx$aySQ;7nTiS$cnpmGTI7XKI9mfdO*vjs+;a4cM zd?rbTv>~%2tXd(#{)?j2M{mI`#0%Hbivn{Qm_*khvEOgmBHA*>L0%SS}aGc ziA9-vD$0sgrT>7ZymMQW<9W?ZtX#&TXjU#Z49H@NBKeoM*u2L9yRy@=(ZLUT3ig56FPylS;j zrJunD570u#fNmjlYh&fJRkaH?e>-FEO}zj&p+Bg&0Jx)Zn)fZvRM>FkTiAfqT3&$_ zi30BL(HBvYyyIAa-@bBns;vfW;l%(7Zk zDJF)@)XR{`yCtT)yDdk4)(_V0zqMB=dlF^5OW966aT$r?6_xM&MMZ2$p)CnyOT&Fh z>f9ID;2j$5gN`AP!}F7F6`3HK6c&xPUCtf9K0*2lwx>D*tMK_^Pr!T^2 z;I82>K$(#{MZZ+dovf?K9X{a2;rtn+7dbTeW%pY}c<0gZk1(6{tNVd5mk4jugfso0 zeBFWKsB7pQ#6xGVx$RXNZR^7UYjxEcq*AUUqI^1w0(@8O%X}O4Yp3474xq5*gpqYE z9QVtqoV(?nupXr zv_h2)s}ILYVdO4G!g4$5FkUsP?=(^6xmNAq*&VG_N`0eq;z$TBBl<3nHc*ugPTJo9 zPVxZDHEBYG<39C3|9B3cHAc-Kty?C5JH>WCeTK<;v4LhCXV~) zgj-XVQE(H21V8nPgr8(9ZVzW7u~n9N{3_|pH`|9e-?MAm{nXo0j{Ef*0vbj`0JJ?6 z4Q)M6tjXA>jyuQ&(k?Xx(gYlMFfhBBGej*s)`*(%+U7}7G2HIU?}%Jsz;?|C_vM8+5YMwdjf1BQix*L}3YJ(^O%{*v4Qw&}y=;j!N_m0=R(J^rZqOdm1QNLMuWs+S zgB{5L{^BIoaNoF!tl6`S-YL!Q0B%NC^$dv%TC)fEx?>z?nTe>n=xxs@B1(LJXCtyY zq6`4v;YmQemt{=2BMHX{ppujfsCY%42|r9m-NH>dvlBAeJ2=F=bTY4y%*%e-Y8Om; zG0ta#N5~vs>I@*u^68cO?w;Dkap(UWUg6lEIIbs-N1wL3smD_hesMO>k%Z_jBHEyd zI;o=JPMq(Bkw?jL6T3O?l+U=~Z=}8bS6HcqjqTcM!7vDcTk^ZZE#yD(akCz99nQm| z9*B&Q2k||T2Vy9O6tDI~Z{RuFJ3U`fJ9|1kf+>4LeRou`0^fem_j24%!fx-SR^0~R zB0|xFCI064_4jZuv9TIO_J?663{03JOPW7pK_eD0_I7mJm%)MG6WsYT^9;fDme7 z`~U#I$o-!5;Q-*t^Pea`mL%>`tp+&*g5{6bRUZt5Vn(rQHVDNES{xb#Ej$a@v%_u& zs+dqD^dkvxsL{7OiK<~5^+Gi~p%df|B)a|NpHl@^57lunkcV?9atH)sWvjPR9XW5R z1w)TTGpkWm@`1ZSiP!+5c$=%#^|g|e z{_!4PG=*pa5xt{{Bq@9AV+j}0@DXsDNay>4Y~vDAs<*|dwDnG%V9B~>P{c0?9?2L9 zAAxnnNU-K?5Sw@acT6SU;oKT*xv8PrI1&*T;ix|ecfcdY#`k$+XAY!$LF6ppz-Oi5 z@Bu2Xrg^Az+l{TGkvmct_;w+7@{^N4FzQ68TF$lesXnuRk0^S*e8;30OR6;iM zE&q?aIXgfToO5-t83}vhP6*|WL{uG%6;BObt}_mo93!(&sZHaZ7OG&kp3zjBz8G(V z%b56Pbt=KGuQKj4`ec!X7h%tjM=g{z!#jW`cj0vQY-G(!?m{y!K*yVnUK3EoC9)3~M1_$+pOqT@c$M4)<4LRb)}&%G727&#eeF^te%$w271S&?eO zH}rBVw6GpMEN-6#6>ub6os1&^?LW#TLNQfX>@pOXG zaOHl~VpRL*A3(JiLVQ!|^&oQJ3%(Qp?piOXg%3HcRm5imoWM}WeI0;KD)%9DQsQPj zE4%s-P>aSmXDSF0p`WML7@^#UYmCr$gDN9%im5#eDmEf9k)!em0u4E4}N-gg?YrN@@yxfFb{)c&n1F0eu(=M zSuuJOeL*@r13;rdM5&)S}YV;#cJL>o8 zeZiGE5Qf%q*dxe7qXv_EA8`^?(M?tZPG)}%Hkj8^&(0+}VjiyAWjS~lj+gqP1h*Nr zJvvds&(HHYyK}`{ukg}1TO7ep&+FLqrG8T)y=t!VO+jLT5yy&oxGH$AWS)V?aE`I+ z5?S_3Jv&sT)wjC)t_dE{L@)y_oFkB2-wLSA9Jo$X`Jdv~Csu*YR%`V|4nRUgQgf0X zM|L9BOCCoCqYih}g~wD;4vd zLYpm0QX6~!Pm*Y`G~7=ac@prlef~vz2Aq%H(pHS zW-kPmJR{hNKQ9CvP*dkGLPY$hec@u1Ls+(YF)YIw(_{%MA)hGBecKY8F}Ma4*$m7XJ7q=0}sW-y?$N%iG z9sRwyDLp%Ez7np7wd0?LwOBdhtuU4)g#2`|y&YP3Be95B;bRe{j4*c~IY+ls8LgD# zrI8?eCC&t+C%&)}Juwcc=T{*rUaUkBo^2$Pkb)gF+o=4G>(y!@;&Zr@O`X)%-c{$l zi0Fvbh^Xj?ms91dom35BfM&uPfCl&A&(|P3CD3fY)IWxKclG5Os*{&CJ2(1L2CdMg z0u*7<7Xz!DXVG_Hm=wJh?P_)FZzJoIchMu%Z`Yy@^Nmmp=Nn;f{r4_vK@f40=7pz5 zq9;Fb>7y1r=L}QD&726|s|lmY$$1V<4lY4~b!cTtE6IYAb!gc{Pi`E%qoBXaR&-Hp zxhX7IusPJH4TnIe_`WoNsd}i1>kUPO8_GhKLRoOH$c4{C4`^24tw6KDdT3_k$q;f* zb}>PxV!h-3qKJ2hIy`MiRa0L0pYJ3?nfQOWlcc|Z?#{!S2#hCz!?i%O5dug@Z3IY- zo?;}GjbO=~7OJEVjglI?h>RERxCmvw2%(tzpLr3vCxrMlNBT=>AY~a}ratkOF_;*& z32tYXayFmc1Sd;Zc2AM+%4Qci8+8&PKD}SYR`eq$UPdZ-K9R$ieR3Cd0m1TxEvhyF zhJGhrf!f~71XgMAW}}tGjqcE9loQH4(LME5)K}TR;CJqoxfLle(XJDs8uh22=hoVS z91^OFuWJh@Y;pQ(3u#%{9p8dm7v5I(-s%kSXexi|SG*MpGNEK`YZ5udt`po79i?8G zfacCqOK4cFd+jTZw2o`DR9RKsDb5v!V9PU0{tL(0slNrip6&&{X*FgOyn%Y|UP)se1G^ z2m_IE0PzYQaBkJSjC83uU|@;?ELsF;=W@Ms^bVZG zB95yGJO0yyr~$As^-U;%mHpLLVh@3a;!2PA4ryj<4>>)wb_n;+hY)Uq@WHo0SaMXS z_sO@MUf$M9jy(>8Q1-7ptOXSvcDnhfk;k>)Hl$&Bj=2mbXWy=o$)I-(CZH~P$Dqb? z