X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c89f5c02b1ecc6098b21b39b01509dd387c1cb34..560e2916a9c790150fab69be3e4fb74909a76cbc:/src/gtk/pen.cpp diff --git a/src/gtk/pen.cpp b/src/gtk/pen.cpp index 7ba9b5940d..ee89ada46a 100644 --- a/src/gtk/pen.cpp +++ b/src/gtk/pen.cpp @@ -8,11 +8,15 @@ ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "pen.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + #include "wx/pen.h" +#include "wx/colour.h" #include @@ -34,6 +38,7 @@ public: } wxPenRefData( const wxPenRefData& data ) + : wxObjectRefData() { m_style = data.m_style; m_width = data.m_width; @@ -41,20 +46,33 @@ public: m_capStyle = data.m_capStyle; m_colour = data.m_colour; m_countDashes = data.m_countDashes; -/* - if (data.m_dash) TODO - m_dash = new -*/ m_dash = data.m_dash; } bool operator == (const wxPenRefData& data) const { - return (m_style == data.m_style && - m_width == data.m_width && - m_joinStyle == data.m_joinStyle && - m_capStyle == data.m_capStyle && - m_colour == data.m_colour); + if ( m_countDashes != data.m_countDashes ) + return FALSE; + + if ( m_dash ) + { + if ( !data.m_dash || + memcmp(m_dash, data.m_dash, m_countDashes*sizeof(wxGTKDash)) ) + { + return FALSE; + } + } + else if ( data.m_dash ) + { + return FALSE; + } + + + return m_style == data.m_style && + m_width == data.m_width && + m_joinStyle == data.m_joinStyle && + m_capStyle == data.m_capStyle && + m_colour == data.m_colour; } int m_width; @@ -116,7 +134,7 @@ void wxPen::SetDashes( int number_of_dashes, const wxDash *dash ) AllocExclusive(); M_PENDATA->m_countDashes = number_of_dashes; - M_PENDATA->m_dash = (wxGTKDash *)dash; /* TODO */ + M_PENDATA->m_dash = (wxGTKDash *)dash; } void wxPen::SetColour( int red, int green, int blue )