]> git.tdb.fi Git - libs/gui.git/blobdiff - source/smoothcontrol.cpp
Bugfixes for SmoothControl pairing
[libs/gui.git] / source / smoothcontrol.cpp
index e878ed850a76d9432368d280bf2d47dd5174af10..293e0b3dcba7bf985dfe59904ad5fb7ae01682c3 100644 (file)
@@ -27,6 +27,18 @@ SmoothControl::SmoothControl(Device &d, ControlSrcType t, unsigned i):
        paired_ctrl(0)
 { }
 
+SmoothControl &SmoothControl::operator=(const SmoothControl &sc)
+{
+       Control::operator=(sc);
+
+       return *this;
+}
+
+SmoothControl::~SmoothControl()
+{
+       pair(0);
+}
+
 void SmoothControl::pair(SmoothControl *ctrl)
 {
        if(ctrl==paired_ctrl)
@@ -34,8 +46,9 @@ void SmoothControl::pair(SmoothControl *ctrl)
 
        if(paired_ctrl)
        {
+               SmoothControl *old_pair=paired_ctrl;
                paired_ctrl=0;
-               paired_ctrl->pair(0);
+               old_pair->pair(0);
        }
 
        paired_ctrl=ctrl;