mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
Core: Fixed Value::operator= cornercase
git-svn-id: svn://ultimatepp.org/upp/trunk@7908 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
cbc9c8b04a
commit
810d9b670e
3 changed files with 42 additions and 23 deletions
|
|
@ -33,8 +33,9 @@ void Value::RefRetain()
|
|||
|
||||
Value& Value::operator=(const Value& v) {
|
||||
if(this == &v) return *this;
|
||||
FreeRef();
|
||||
data = v.data;
|
||||
Value h = v; // Make copy a 'v' can be reference to ValueMap/Array contained element
|
||||
FreeRef(); // e.g. json = json["foo"]
|
||||
data = h.data;
|
||||
if(IsRef())
|
||||
ptr()->Retain();
|
||||
return *this;
|
||||
|
|
|
|||
|
|
@ -19,21 +19,7 @@ paragraphs (wraps them).&]
|
|||
[s0; &]
|
||||
[s2;
|
||||
@@image:875&475
|
||||
們寑虁€€兇<EFBFBD>€€€€<EFBFBD>滍蒇庅皫屘夨灲挛镄彚佐侅䴓婃∈枌眍脕懁拡耿箳掚伹镒徔啧ビ慷骡斊<EFBFBD>
|
||||
ぱ氬情敓鯘漂黛崫謼赌<EFBFBD>潠<EFBFBD>髥劗<EFBFBD>贪<EFBFBD>豌憺西盘爻埌曨瞥帣耽晦咣堫礂蹌耠菘<EFBFBD>蕬ǘ晔垎<EFBFBD>
|
||||
諌燒卅<EFBFBD>榱鐥詧脿腺<EFBFBD>昱炽┄瑫п蟪<EFBFBD>忤菤咒钊嬀雏澂Э陕擔蚨淞嘿皙毠<EFBFBD>冄<EFBFBD><EFBFBD>矛岈娭颦
|
||||
钙﹄折禑港菓抖鳍箥詷佧斊澝蹴兮釃早閯蛪瑷牏氬耷頂癀閹<EFBFBD><EFBFBD>詳伔検顾<EFBFBD>拰垦嫶扫绚缓缛
|
||||
銖舀渴|屁嶒瞄目仐曓嶆凐〗门蹭螑得爬箫钔緞骥虜餀彬尡軇鍤鐫趱喠崬泭幄锌燀<EFBFBD>完盥;<EFBFBD>
|
||||
愆徍橕妿<EFBFBD>丹瘠墎債袙窃厌鴺鏉釄憘恍槏墛柡豹饩泝讶蹬棰炉绒珖壃讶呬蕼楇搐嗢渐麓ィ摿
|
||||
溴伐戝喇笠痊崳憡娩樒鏉哦倠詹魧牯<EFBFBD><EFBFBD>岨萏虐涇雽芍<EFBFBD>蛯鹭ペ揎滦溳姍饫暍峁寱氼獌怨茫犣
|
||||
讪斊彔代瓜袣迩挸闭バ哕叓俏霂賳深鍞<EFBFBD>冤崚蛯灏晏曪畹鰪頉硰硌鲷蜚┴灑钋寚亸弘Ⅱ弑鎏
|
||||
鄷韺夋珉壤壗<EFBFBD>灇游载貖彷鼥陝檀対稐谛﹦犦捑令<EFBFBD>鸭冈ぴ屏€⿰<EFBFBD><EFBFBD>接占徇ぱ惲脘翩瑑ご<EFBFBD>
|
||||
毢嵑螆总婅砧陽偾傆铖阏娒公殨枩<EFBFBD>瘺葲窝<EFBFBD>故败<EFBFBD>八颓劆屨潌<EFBFBD>艚庞鐚撁缞魂<EFBFBD>炜剩<EFBFBD>嶒
|
||||
姡暺酯叛覛迩閿熸<EFBFBD>ж佝ぽ萑鄬胀埥腼<EFBFBD><EFBFBD>啀客杲喨冚壳岄玩嚕耿懏嵵启贊崔曘髑葱S驖裰
|
||||
貧胆嶒汴诜灭麣拨缇<EFBFBD>质齼鹳千堡<EFBFBD>覈敝:實珩櫛緡╊柔嫈パ<EFBFBD>袤詮噫<EFBFBD><EFBFBD>箯珲迣舀驴谊镊窥
|
||||
鞊<EFBFBD><EFBFBD>翋媪厔繝闈<EFBFBD>砺嗐<EFBFBD><EFBFBD><EFBFBD>嘞左<EFBFBD><EFBFBD>獢望殽婍<EFBFBD>婊湵<EFBFBD>瑐粋骺芟榨芡犏愱群灤陛<EFBFBD>嵄堑<EFBFBD><EFBFBD>
|
||||
迄獞裹溃∴内胩冞龓嚐<EFBFBD>柺屉骤诣<EFBFBD><EFBFBD>斝鳍ナ摑捫棾酋欥胥戢婒鰠鹃姑職聦╊丞灍┅戄啑嶕
|
||||
隇<EFBFBD><EFBFBD><EFBFBD><EFBFBD>偏諈殨颌幋蕪舀渴唬<EFBFBD>嶒4渴彲<EFBFBD><EFBFBD>朋栞戨<EFBFBD>邈€<EFBFBD>
|
||||
(A4wATAAAALT/AAAAAHic7V1bjtswDMyJ9x49Qm/Qj6JXdIF+GIrmIcqWbW7DgREkEjkiOZISawHv148/X3Wlv7ZCYpRG+VEa5UdplB+dRq937I2dF7bEe78dlqRzhoSuo44wf83jER7OxczYM4iwlUazjpk1ortf24jutBfbcWvdP3pLSqg2akqIBmiJH/1YpiaKwWcX1AjDoNmhjepFM+OoLBWnYfMzKuLoxxrWZEiLvrN7na+/ycITevI2QTrZcCqauUqDUa8+qm6s4SwKVnKtRiZr1du1H1tHEba29yKNVBjY+5RGw3Xt2eJhB2dphE2JaKgiGmVeR+0UpWkOJ/b+0RQBtxfKOctmEoy/UYs0qFEkuzpnyI/SKD9Ko/wojfJDaUS/lxVeDWYDeL1DRTJkzhDDRcBz7+5NBOb3zJTvGfIMMVyE5Rqd9PUGQY2eiuEi0L8fbc3q7sKju4GpD7qYe4qOpLWk8SSJAXnQEkdUUWEYZh3hiJGC0JgNiYqWOqpiPhuD0UjFaaJCr8heh4ks0UiFZByXa7QkBuylQrSlo5NBZTelEWXArtLILA2jkYrkmEZmHUW2C9UydAxqdH8Mfl1MxTDc6wzJ1ixYjHDYpVpe71CcXQoZYsCiYbkMlRpuA9Q5wyOgWiiURo+gNPrPUBrlx5Iz1SVQX9yFK87rjlkGSe6UL8lUKY2SjGWw6kwV7zX2j+0bs4/RdvTyY6nYIu7HjIcBD2uict+x9kwVbQwJZufrQAk9+TAems7UWFiKYd0WaoTMtIydF9rQKYSgXT7BbiyvUTxUJFTGwYApLb4qrD1TVWFfpNGQwWt0ZqwDJLT9Oo06zohXXGjVaOoWWUdT7nFjVQpDqxoVlpypGpvIm85RrTvKMFyknrBLxwSgjFUdhr70PcVT5wzDwAo76iwoP0qj/CiN8iOVRvUlRVEa5UdplB/mOSfY2H6kXchgjNXNCL3v+GSoc4aNzeq9hsiDXceM6c3mhyOiES6N1sZ0nTReleN3x1Aj03Kd8VYaNSiN8mPqN8Nw+5oypr6t8VZK/YNZRycxpKr6B7FWI7oMjfGZsT4Hqe5hCxSlUX7U81QP4OYE/49ndd6M0ig/0mpEdz/6Ey7Sq27BkEGFhD8g6Z0a7UIGY6w2/+DP1/N45HmqlM37mqVtpgHmOxwxaKwCuwL3P09VpdzNavpqSDoetDFdJ40xx7W4/3mqkTl8QKPgRFprTINfjgefp4qWymtW6NJoe8/IFND3oqXKnZJQF7NHdfZxY+qrCnIFvuk5w8KaDKluWCken6kRXYYXjXUerUa/f/2sK9WFGhVyojTKj9IoP0qj/CiN8qM0yo+vp//Fc12R6y/AZWMf)
|
||||
&]
|
||||
[s0; &]
|
||||
[s0; [/ Derived from] [^topic`:`/`/CtrlLib`/src`/TextCtrl`$en`-us`#TextCtrl`:`:class^ Tex
|
||||
|
|
@ -47,6 +33,12 @@ ont]_[*@3 f])&]
|
|||
[s2; Sets the font to be used by widget to [%-*@3 f].&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:After`(int`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&]_[* After]([@(0.0.255) int
|
||||
]_[*@3 a])&]
|
||||
[s2; The height of empty block after the paragraph in pixels. Default
|
||||
is 0.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:SetFilter`(int`(`*`)`(int c`)`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&]_[* S
|
||||
etFilter]([@(0.0.255) int]_(`*[*@3 f])([@(0.0.255) int]_c))&]
|
||||
[s2; [%- Sets the character filter] [%-*@3 f]. All characters keystrokes
|
||||
|
|
@ -61,6 +53,11 @@ ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
|||
is active by default.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:IsAutoHideSb`(`)const:%- [@(0.0.255) bool]_[* IsAutoHideSb]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2; Returns true if AutoHideSb is active.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:UpDownLeave`(bool`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&]_[* UpDownLeave](
|
||||
[@(0.0.255) bool]_[*@3 u]_`=_[@(0.0.255) true])&]
|
||||
[s2; In UpDownLeave mode, Up key at the top of text or Down key at
|
||||
|
|
@ -78,4 +75,24 @@ the focus to previous / next Ctrl that IsWantFocus.&]
|
|||
onst]&]
|
||||
[s2; Tests UpDownLeave mode.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:SetScrollBarStyle`(const ScrollBar`:`:Style`&`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&
|
||||
]_[* SetScrollBarStyle]([@(0.0.255) const]_[_^ScrollBar`:`:Style^ ScrollBar`::Style][@(0.0.255) `&
|
||||
]_[*@3 s])&]
|
||||
[s2; Sets the chameleon style of scrollbar.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:EofLine`(bool`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&]_[* EofLine]([@(0.0.255) b
|
||||
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
||||
[s2; If active, paints faint line at the end of text. Default is
|
||||
active.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:NoEofLine`(`):%- [_^DocEdit^ DocEdit][@(0.0.255) `&]_[* NoEofLine]()&]
|
||||
[s2; Same as EofFile(false).&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:DocEdit`:`:IsEofLine`(`)const:%- [@(0.0.255) bool]_[* IsEofLine]()_[@(0.0.255) const]&]
|
||||
[s2; Returns true if EofLine is active.&]
|
||||
[s3;%- &]
|
||||
[s0; ]]
|
||||
|
|
@ -512,12 +512,13 @@ bool PostgreSQLConnection::Execute()
|
|||
if(*s == '\'' || *s == '\"')
|
||||
s = PostgreSQLReadString(s, query);
|
||||
else {
|
||||
if(pi >= param.GetCount()) {
|
||||
session->SetError("Invalid number of parameters", statement);
|
||||
return false;
|
||||
}
|
||||
if(*s == '?')
|
||||
if(*s == '?') {
|
||||
if(pi >= param.GetCount()) {
|
||||
session.SetError("Invalid number of parameters", statement);
|
||||
return false;
|
||||
}
|
||||
query.Cat(param[pi++]);
|
||||
}
|
||||
else
|
||||
query.Cat(*s);
|
||||
s++;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue