From 4cfcdbb3716a90002e49d325ca390f5eb2c0e6c1 Mon Sep 17 00:00:00 2001 From: guy Date: Wed, 19 Feb 1997 11:55:38 +0000 Subject: [PATCH] assoc.cpp Corretta la aggiunta di un oggetto per reference golem.cpp Aggiunto messaggio di DDE git-svn-id: svn://10.65.10.50/trunk@4142 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/assoc.cpp | 5 +++++ include/golem.cpp | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/assoc.cpp b/include/assoc.cpp index 42a2f8c98..d52a69936 100755 --- a/include/assoc.cpp +++ b/include/assoc.cpp @@ -155,6 +155,11 @@ bool TAssoc_array::add( bool TAssoc_array::add(const char* key, const TObject& obj, bool force) { + bool isnew = FALSE; + THash_object* o = _lookup(key,isnew,TRUE); + if (!isnew && !force) + return TRUE; + return add(key,obj.dup(),force); } diff --git a/include/golem.cpp b/include/golem.cpp index 7cd5055c5..91a4c79d3 100755 --- a/include/golem.cpp +++ b/include/golem.cpp @@ -287,13 +287,18 @@ HIDDEN BOOLEAN hook(HWND hwnd, CUR_DDE->do_ack(wparam); normal_process = FALSE; } - break; + break; + case WM_DDE_DATA: + { + ATOM i = HIWORD(lparam); if (i) GlobalDeleteAtom(i); + } + break; case WM_DDE_EXECUTE: { const TString cmd((const char*)lparam); DDEACK ack; memset(&ack, 0, sizeof(ack)); ack.fAck = CUR_DDE->do_execute(wparam, cmd); - // Ritorna indietro l'handle globale che verra' distrutto dal chiamante + // Ritorna indietro l'handle globale che verra' distrutto dal chiamante PostMessage((HWND)wparam, WM_DDE_ACK, (WPARAM)hwnd, lparam); normal_process = FALSE; }