fix #521 SPIString copy constructor
Thomas Holder
3 years ago
613 | 613 | : SPIBase(inherits) |
614 | 614 | {} |
615 | 615 | |
616 | SPIString(const SPIString &rhs) { *this = rhs; } | |
617 | ||
616 | 618 | ~SPIString() override { |
617 | 619 | g_free(_value); |
618 | 620 | } |
624 | 626 | void merge( const SPIBase* const parent ) override; |
625 | 627 | |
626 | 628 | SPIString& operator=(const SPIString& rhs) { |
629 | if (this == &rhs) { | |
630 | return *this; | |
631 | } | |
627 | 632 | SPIBase::operator=(rhs); |
628 | 633 | g_free(_value); |
629 | 634 | _value = g_strdup(rhs._value); |
837 | 842 | this->clear(); |
838 | 843 | } |
839 | 844 | |
845 | SPIPaintOrder(const SPIPaintOrder &rhs) { *this = rhs; } | |
846 | ||
840 | 847 | ~SPIPaintOrder() override { |
841 | 848 | g_free( value ); |
842 | 849 | } |
856 | 863 | void merge( const SPIBase* const parent ) override; |
857 | 864 | |
858 | 865 | SPIPaintOrder& operator=(const SPIPaintOrder& rhs) { |
866 | if (this == &rhs) { | |
867 | return *this; | |
868 | } | |
859 | 869 | SPIBase::operator=(rhs); |
860 | 870 | for( unsigned i = 0; i < PAINT_ORDER_LAYERS; ++i ) { |
861 | 871 | layer[i] = rhs.layer[i]; |