diff options
author | Oliver Bolte <obo@openoffice.org> | 2007-01-22 14:16:33 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2007-01-22 14:16:33 +0000 |
commit | 76af553835fd46025cf1df32315c07d066b44722 (patch) | |
tree | fd9bf78e0d160755cf8fabecb10242bd5b6e4bba /svx/source/svdraw/svdcrtv.cxx | |
parent | bfde84f4eecfb10fa50c3642313c9ac4e17e0b09 (diff) |
INTEGRATION: CWS aw039 (1.22.60); FILE MERGED
2006/12/18 11:55:29 aw 1.22.60.1: #i72535# For FmFormObj, creation and copy/paste needs to force insertion to form layer, not use current one
Diffstat (limited to 'svx/source/svdraw/svdcrtv.cxx')
-rw-r--r-- | svx/source/svdraw/svdcrtv.cxx | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/svx/source/svdraw/svdcrtv.cxx b/svx/source/svdraw/svdcrtv.cxx index 89244a5696e6..3b81b9ebbaf1 100644 --- a/svx/source/svdraw/svdcrtv.cxx +++ b/svx/source/svdraw/svdcrtv.cxx @@ -4,9 +4,9 @@ * * $RCSfile: svdcrtv.cxx,v $ * - * $Revision: 1.22 $ + * $Revision: 1.23 $ * - * last change: $Author: ihi $ $Date: 2006-11-14 13:39:39 $ + * last change: $Author: obo $ $Date: 2007-01-22 15:16:33 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -96,6 +96,11 @@ #include <sdrpaintwindow.hxx> #endif +// #i72535# +#ifndef _SVX_FMOBJ_HXX +#include "fmobj.hxx" +#endif + //////////////////////////////////////////////////////////////////////////////////////////////////// class ImplConnectMarkerOverlay @@ -683,9 +688,26 @@ BOOL SdrCreateView::EndCreateObj(SdrCreateCmd eCmd) // sonst Brk, weil alle Punkte gleich sind. SdrObject* pObj=pAktCreate; pAktCreate=NULL; - SdrLayerAdmin& rAd=pCreatePV->GetPage()->GetLayerAdmin(); - SdrLayerID nLayer=rAd.GetLayerID(aAktLayer,TRUE); - if (nLayer==SDRLAYER_NOTFOUND) nLayer=0; + + const SdrLayerAdmin& rAd = pCreatePV->GetPage()->GetLayerAdmin(); + SdrLayerID nLayer(0); + + // #i72535# + if(pObj->ISA(FmFormObj)) + { + // for FormControls, force to form layer + nLayer = rAd.GetLayerID(rAd.GetControlLayerName(), true); + } + else + { + nLayer = rAd.GetLayerID(aAktLayer, TRUE); + } + + if(SDRLAYER_NOTFOUND == nLayer) + { + nLayer=0; + } + pObj->SetLayer(nLayer); // #83403# recognize creation of a new 3D object inside a 3D scene |