From 0ff1a472f5a60475a0af7ddb4f4b5caefed8a787 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 11 Aug 2020 17:47:33 +0200 Subject: [PATCH] WIP: don't accept cell drops from wrong technology --- src/edt/edt/edtServiceImpl.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/edt/edt/edtServiceImpl.cc b/src/edt/edt/edtServiceImpl.cc index 471c9de8e..5f854d0e4 100644 --- a/src/edt/edt/edtServiceImpl.cc +++ b/src/edt/edt/edtServiceImpl.cc @@ -1138,9 +1138,18 @@ InstService::drag_enter_event (const db::DPoint &p, const lay::DragDropDataBase // configure from the drag/drop data if (cd->library ()) { + + // Reject drag & drop if the target technology does not match + if (cd->library ()->for_technologies () && view ()->cellview (view ()->active_cellview_index ()).is_valid ()) { + if (! cd->library ()->is_for_technology (view ()->cellview (view ()->active_cellview_index ())->tech_name ())) { + return false; + } + } + if (m_lib_name != cd->library ()->get_name ()) { m_lib_name = cd->library ()->get_name (); } + } else { m_lib_name.clear (); }