summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdcrtv.cxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-01-22 14:16:33 +0000
committerOliver Bolte <obo@openoffice.org>2007-01-22 14:16:33 +0000
commit76af553835fd46025cf1df32315c07d066b44722 (patch)
treefd9bf78e0d160755cf8fabecb10242bd5b6e4bba /svx/source/svdraw/svdcrtv.cxx
parentbfde84f4eecfb10fa50c3642313c9ac4e17e0b09 (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.cxx32
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