eeschema segfault when move a part (lp:#1830054)

[Original report](https://bugs.launchpad.net/bugs/1830054) created by **Martin Thomas (mtlaunchpad)**
```
When I select a Part together with a labled Line and rotate it, Eeeschema
crashes.

In the short video I select the part, pressed M and R. It crashed after I
pressed the R Button.

Application: KiCad
Version: (5.1.0-651-g490a53aac), debug build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.52.1 GnuTLS/3.5.8 zlib/1.2.8 libidn2/0.16 libpsl/0.17.0
(+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
Platform: Linux 5.1.3-mt x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.52.1
    Compiler: GCC 6.3.0 with C++ ABI 1010

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=OFF



[Thread 0x7fffcf7fe700 (LWP 8358) exited]
kicad: /usr/include/boost/optional/optional.hpp:867:
boost::optional<T>::reference_const_type boost::optional<T>::get() const
[with T = VECTOR2<int>; boost::optional<T>::reference_const_type = const
VECTOR2<int>&]: Zusicherung »this->is_initialized()« nicht erfüllt.

Thread 1 "kicad" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht
gefunden.
(gdb) backtrace
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff349342a in __GI_abort () at abort.c:89
#2  0x00007ffff348ae67 in __assert_fail_base (fmt=<optimized out>,
    assertion=assertion@entry=0x7fffe1237759 "this->is_initialized()",
    file=file@entry=0x7fffe1237730
"/usr/include/boost/optional/optional.hpp", line=line@entry=867,
    function=function@entry=0x7fffe1237780 <boost::optional<VECTOR2<int>
>::get() const::__PRETTY_FUNCTION__>
"boost::optional<T>::reference_const_type boost::optional<T>::get() const
[with T = VECTOR2<int>; boost::optional<T>::reference_const_type = const
VECTOR2<int>&]") at assert.c:92
#3  0x00007ffff348af12 in __GI___assert_fail (assertion=0x7fffe1237759
"this->is_initialized()",
    file=0x7fffe1237730 "/usr/include/boost/optional/optional.hpp",
line=867,
    function=0x7fffe1237780 <boost::optional<VECTOR2<int> >::get()
const::__PRETTY_FUNCTION__> "boost::optional<T>::reference_const_type
boost::optional<T>::get() const [with T = VECTOR2<int>;
boost::optional<T>::reference_const_type = const VECTOR2<int>&]")
    at assert.c:101
#4  0x00007fffe0f9aeed in boost::optional<VECTOR2<int> >::get
(this=0x555557ee5568) at /usr/include/boost/optional/optional.hpp:867
#5  0x00007fffe0f9ad76 in boost::optional<VECTOR2<int> >::operator*() const
& (this=0x555557ee5568)
    at /usr/include/boost/optional/optional.hpp:884
#6  0x00007fffe0f9ad32 in SELECTION::GetReferencePoint
(this=0x555557ee5538)
    at /home/mthomas/daten/git/kicad/kicad-source-
mirror/include/tool/selection.h:205
#7  0x00007fffe0faa3f8 in SCH_EDIT_TOOL::Rotate (this=0x555557eef240,
aEvent=...)
    at /home/mthomas/daten/git/kicad/kicad-source-
mirror/eeschema/tools/sch_edit_tool.cpp:550
#8  0x00007fffe0fb4af4 in std::__invoke_impl<int, int (SCH_EDIT_TOOL::*
const&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&> (__f=
   @ 0x55555fc6d130: (int (SCH_EDIT_TOOL::*)(SCH_EDIT_TOOL * const, const
TOOL_EVENT &)) 0x7fffe0fa9eb6 <SCH_EDIT_TOOL::Rotate(TOOL_EVENT const&)>,
__t=@0x55555fc6d140: 0x555557eef240, __args#0=...) at
/usr/include/c++/6/functional:227
#9  0x00007fffe0fb4945 in std::__invoke<int (SCH_EDIT_TOOL::*
const&)(TOOL_EVENT const&), SCH_EDIT_TOOL*&, TOOL_EVENT const&> (__fn=
   @ 0x55555fc6d130: (int (SCH_EDIT_TOOL::*)(SCH_EDIT_TOOL * const, const
TOOL_EVENT &)) 0x7fffe0fa9eb6 <SCH_EDIT_TOOL::Rotate(TOOL_EVENT const&)>,
__args#0=@0x55555fc6d140: 0x555557eef240, __args#1=...) at
/usr/include/c++/6/functional:251
#10 0x00007fffe0fb476f in std::_Mem_fn_base<int
(SCH_EDIT_TOOL::*)(TOOL_EVENT const&), true>::operator()<SCH_EDIT_TOOL*&,
TOOL_EVENT const&> (this=0x55555fc6d130, __args#0=@0x55555fc6d140:
0x555557eef240, __args#1=...) at /usr/include/c++/6/functional:604
#11 0x00007fffe0fb44f9 in std::_Bind<std::_Mem_fn<int
(SCH_EDIT_TOOL::*)(TOOL_EVENT const&)> (SCH_EDIT_TOOL*,
std::_Placeholder<1>)>::__call<int, TOOL_EVENT const&, 0ul,
1ul>(std::tuple<TOOL_EVENT const&>&&, std::_Index_tuple<0ul, 1ul>)
(this=0x55555fc6d130,
    __args=<unknown type in /usr/local/bin/_eeschema.kiface, CU 0x2e80845,
DIE 0x2edacde>) at /usr/include/c++/6/functional:934
#12 0x00007fffe0fb4207 in std::_Bind<std::_Mem_fn<int
(SCH_EDIT_TOOL::*)(TOOL_EVENT const&)> (SCH_EDIT_TOOL*,
std::_Placeholder<1>)>::operator()<TOOL_EVENT const&, int>(TOOL_EVENT
const&) (this=0x55555fc6d130, __args#0=...) at
/usr/include/c++/6/functional:993
#13 0x00007fffe0fb3f1a in std::_Function_handler<int (TOOL_EVENT const&),
std::_Bind<std::_Mem_fn<int (SCH_EDIT_TOOL::*)(TOOL_EVENT const&)>
(SCH_EDIT_TOOL*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&,
TOOL_EVENT const&) (__functor=..., __args#0=...)
    at /usr/include/c++/6/functional:1717
#14 0x00007fffe11699b1 in std::function<int (TOOL_EVENT
const&)>::operator()(TOOL_EVENT const&) const (this=0x55555fcb68e8,
    __args#0=...) at /usr/include/c++/6/functional:2127
#15 0x00007fffe11669e7 in COROUTINE<int, TOOL_EVENT const&>::callerStub
(aData=140737488335472)
    at /home/mthomas/daten/git/kicad/kicad-source-
mirror/include/tool/coroutine.h:331
#16 0x00007fffe11c8211 in make_fcontext () from
/usr/local/bin/_eeschema.kiface
#17 0x0000000000000000 in ?? ()
```
Original tags: eeschema

Story points: 6.0