From d4fe7e0cc1525d0bd9a72fe23d1d29e871b60c1fb0233d82749594b8d29207fc Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 17 Dec 2014 18:06:13 +0000 Subject: [PATCH] Fix/Debug things OBS-URL: https://build.opensuse.org/package/show/X11:wxWidgets/wxWidgets-3_2?expand=0&rev=9 --- wxQt-3_2.spec | 9 +- wxqt-compile.diff | 416 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 416 insertions(+), 9 deletions(-) diff --git a/wxQt-3_2.spec b/wxQt-3_2.spec index fc040c8..d510859 100644 --- a/wxQt-3_2.spec +++ b/wxQt-3_2.spec @@ -165,9 +165,6 @@ Library for the wxWidgets cross-platform GUI. %package devel Summary: Everything needed for development with wxWidgets Group: Development/Libraries/C and C++ -Requires: pkgconfig(Qt5Core) >= 5.2.1 -Requires: pkgconfig(Qt5Gui) >= 5.2.1 -Requires: pkgconfig(Qt5Widgets) >= 5.2.1 Requires: libwx_baseu-suse2 = %version Requires: libwx_baseu_net-suse2 = %version Requires: libwx_baseu_xml-suse2 = %version @@ -182,12 +179,10 @@ Requires: libwx_qtu_qa-suse2 = %version Requires: libwx_qtu_ribbon-suse2 = %version Requires: libwx_qtu_richtext-suse2 = %version Requires: libwx_qtu_stc-suse2 = %version -Requires: pkgconfig(gl) Requires: libwx_qtu_xrc-suse2 = %version -Requires: pkgconfig(glu) #not fit for general use yet#Provides: wxWidgets-devel = %version-%release Conflicts: otherproviders(wxWidgets-devel) -Provides: wxGTK3-devel = %version-%release +Provides: wxQt-devel = %version-%release %description devel wxWidgets is a free C++ library for cross-platform GUI development. @@ -218,6 +213,8 @@ autoconf -f -i # --enable-accessibility is currently supported only in msw # --enable-extended_rtti does not compile +export CXXFLAGS="-O0 -ggdb3" +export CFLAGS="-O0 -ggdb3" %configure\ --enable-vendor=suse \ --with-qt \ diff --git a/wxqt-compile.diff b/wxqt-compile.diff index b496a4b..27c4651 100644 --- a/wxqt-compile.diff +++ b/wxqt-compile.diff @@ -12,10 +12,124 @@ gcc: ./src/qt/checkbox.cpp:122:1: warning: control reaches end of non-void funct rpmlint: I: Program returns random data in a function rpmlint: E: wxQt-3_2 no-return-in-nonvoid-function ./src/qt/checkbox.cpp:122 --- - src/qt/accel.cpp | 2 +- - src/qt/checkbox.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + include/wx/qt/accel.h | 3 -- + include/wx/qt/app.h | 2 - + include/wx/qt/colour.h | 29 +++++++++++------------- + src/common/colourdata.cpp | 2 + + src/qt/accel.cpp | 2 - + src/qt/bitmap.cpp | 2 - + src/qt/brush.cpp | 6 ++--- + src/qt/calctrl.cpp | 14 +++++------ + src/qt/checkbox.cpp | 2 - + src/qt/colordlg.cpp | 4 +-- + src/qt/colour.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++ + src/qt/dc.cpp | 16 ++++++------- + src/qt/listctrl.cpp | 4 +-- + src/qt/pen.cpp | 6 ++--- + 14 files changed, 97 insertions(+), 49 deletions(-) +Index: wxWidgets-trunk/include/wx/qt/accel.h +=================================================================== +--- wxWidgets-trunk.orig/include/wx/qt/accel.h ++++ wxWidgets-trunk/include/wx/qt/accel.h +@@ -9,9 +9,6 @@ + #ifndef _WX_QT_ACCEL_H_ + #define _WX_QT_ACCEL_H_ + +-#include +-#include +- + /* wxQt accelerators implementation: + * + * Storing: +Index: wxWidgets-trunk/include/wx/qt/app.h +=================================================================== +--- wxWidgets-trunk.orig/include/wx/qt/app.h ++++ wxWidgets-trunk/include/wx/qt/app.h +@@ -9,8 +9,6 @@ + #ifndef _WX_QT_APP_H_ + #define _WX_QT_APP_H_ + +-#include +- + class WXDLLIMPEXP_CORE wxApp : public wxAppBase + { + public: +Index: wxWidgets-trunk/include/wx/qt/colour.h +=================================================================== +--- wxWidgets-trunk.orig/include/wx/qt/colour.h ++++ wxWidgets-trunk/include/wx/qt/colour.h +@@ -9,37 +9,34 @@ + #ifndef _WX_QT_COLOUR_H_ + #define _WX_QT_COLOUR_H_ + +-#include ++class QColor; + + class WXDLLIMPEXP_CORE wxColour : public wxColourBase + { + public: + DEFINE_STD_WXCOLOUR_CONSTRUCTORS +- wxColour(const QColor& color) : m_qtColor(color) {} ++ wxColour(const QColor &); + +- virtual bool IsOk() const { return m_qtColor.isValid(); } ++ virtual bool IsOk(void) const; + +- virtual ChannelType Red() const { return m_qtColor.red(); } +- virtual ChannelType Green() const { return m_qtColor.green(); } +- virtual ChannelType Blue() const { return m_qtColor.blue(); } +- virtual ChannelType Alpha() const { return m_qtColor.alpha(); } +- +- bool operator==(const wxColour& color) const +- { return m_qtColor == color.m_qtColor; } +- bool operator!=(const wxColour& color) const +- { return m_qtColor != color.m_qtColor; } ++ virtual ChannelType Red(void) const; ++ virtual ChannelType Green(void) const; ++ virtual ChannelType Blue(void) const; ++ virtual ChannelType Alpha(void) const; ++ ++ bool operator==(const wxColour &) const; ++ bool operator!=(const wxColour &) const; + + int GetPixel() const; + +- QColor GetHandle() const { return m_qtColor; }; ++ QColor *GetHandle(void) const; + + protected: + virtual void +- InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a) +- { m_qtColor.setRgb(r, g, b, a); } ++ InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a); + + private: +- QColor m_qtColor; ++ QColor *m_qtColor; + + DECLARE_DYNAMIC_CLASS(wxColour) + }; +Index: wxWidgets-trunk/src/common/colourdata.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/common/colourdata.cpp ++++ wxWidgets-trunk/src/common/colourdata.cpp +@@ -24,6 +24,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxColourData, wx + + wxColourData::wxColourData() + { ++ fprintf(stderr, "%s\n", __PRETTY_FUNCTION__); + m_chooseFull = false; + m_dataColour.Set(0,0,0); + // m_custColours are wxNullColours initially +@@ -32,6 +33,7 @@ wxColourData::wxColourData() + wxColourData::wxColourData(const wxColourData& data) + : wxObject() + { ++ fprintf(stderr, "%s\n", __PRETTY_FUNCTION__); + (*this) = data; + } + Index: wxWidgets-trunk/src/qt/accel.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/accel.cpp @@ -29,6 +143,99 @@ Index: wxWidgets-trunk/src/qt/accel.cpp { qtList << ConvertAccelerator( node->GetData(), parent ); } +Index: wxWidgets-trunk/src/qt/bitmap.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/bitmap.cpp ++++ wxWidgets-trunk/src/qt/bitmap.cpp +@@ -496,7 +496,7 @@ bool wxMask::Create(const wxBitmap& bitm + if (m_qtBitmap) + delete m_qtBitmap; + +- m_qtBitmap = new QBitmap(bitmap.GetHandle()->createMaskFromColor(colour.GetHandle())); ++ m_qtBitmap = new QBitmap(bitmap.GetHandle()->createMaskFromColor(*colour.GetHandle())); + return true; + } + +Index: wxWidgets-trunk/src/qt/brush.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/brush.cpp ++++ wxWidgets-trunk/src/qt/brush.cpp +@@ -95,7 +95,7 @@ wxBrush::wxBrush() + wxBrush::wxBrush(const wxColour& col, wxBrushStyle style ) + { + m_refData = new wxBrushRefData(); +- M_BRUSHDATA.setColor(col.GetHandle()); ++ M_BRUSHDATA.setColor(*col.GetHandle()); + M_BRUSHDATA.setStyle(ConvertBrushStyle(style)); + M_STYLEDATA = style; + } +@@ -103,7 +103,7 @@ wxBrush::wxBrush(const wxColour& col, wx + wxBrush::wxBrush(const wxColour& col, int style) + { + m_refData = new wxBrushRefData(); +- M_BRUSHDATA.setColor(col.GetHandle()); ++ M_BRUSHDATA.setColor(*col.GetHandle()); + M_BRUSHDATA.setStyle(ConvertBrushStyle((wxBrushStyle)style)); + M_STYLEDATA = (wxBrushStyle)style; + } +@@ -122,7 +122,7 @@ wxBrush::wxBrush(const wxBitmap& stipple + void wxBrush::SetColour(const wxColour& col) + { + AllocExclusive(); +- M_BRUSHDATA.setColor(col.GetHandle()); ++ M_BRUSHDATA.setColor(*col.GetHandle()); + } + + void wxBrush::SetColour(unsigned char r, unsigned char g, unsigned char b) +Index: wxWidgets-trunk/src/qt/calctrl.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/calctrl.cpp ++++ wxWidgets-trunk/src/qt/calctrl.cpp +@@ -228,7 +228,7 @@ void wxCalendarCtrl::SetHoliday(size_t d + date.setDate(date.year(), date.month(), day); + + QTextCharFormat format = m_qtCalendar->dateTextFormat(date); +- format.setForeground(m_colHolidayFg.GetHandle()); ++ format.setForeground(*m_colHolidayFg.GetHandle()); + m_qtCalendar->setDateTextFormat(date, format); + } + +@@ -248,9 +248,9 @@ void wxCalendarCtrl::RefreshHolidays() + if ( m_windowStyle & wxCAL_SHOW_HOLIDAYS ) + { + if ( m_colHolidayFg.IsOk() ) +- format.setForeground(m_colHolidayFg.GetHandle()); ++ format.setForeground(*m_colHolidayFg.GetHandle()); + if ( m_colHolidayBg.IsOk() ) +- format.setBackground(m_colHolidayBg.GetHandle()); ++ format.setBackground(*m_colHolidayBg.GetHandle()); + } + else + { +@@ -277,9 +277,9 @@ void wxCalendarCtrl::SetHeaderColours(co + + QTextCharFormat format = m_qtCalendar->headerTextFormat(); + if ( m_colHeaderFg.IsOk() ) +- format.setForeground(m_colHeaderFg.GetHandle()); ++ format.setForeground(*m_colHeaderFg.GetHandle()); + if ( m_colHeaderBg.IsOk() ) +- format.setBackground(m_colHeaderBg.GetHandle()); ++ format.setBackground(*m_colHeaderBg.GetHandle()); + m_qtCalendar->setHeaderTextFormat(format); + } + +@@ -302,9 +302,9 @@ void wxCalendarCtrl::SetAttr(size_t day, + + QTextCharFormat format = m_qtCalendar->dateTextFormat(date); + if ( attr->HasTextColour() ) +- format.setForeground(attr->GetTextColour().GetHandle()); ++ format.setForeground(*attr->GetTextColour().GetHandle()); + if ( attr->HasBackgroundColour() ) +- format.setBackground(attr->GetBackgroundColour().GetHandle()); ++ format.setBackground(*attr->GetBackgroundColour().GetHandle()); + + wxMISSING_IMPLEMENTATION( "Setting font" ); + Index: wxWidgets-trunk/src/qt/checkbox.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/checkbox.cpp @@ -42,3 +249,206 @@ Index: wxWidgets-trunk/src/qt/checkbox.cpp return wxCHK_UNDETERMINED; } } +Index: wxWidgets-trunk/src/qt/colordlg.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/colordlg.cpp ++++ wxWidgets-trunk/src/qt/colordlg.cpp +@@ -29,10 +29,10 @@ bool wxColourDialog::Create(wxWindow *pa + if ( m_data.GetChooseFull() ) + { + for (int i=0; isetCurrentColor(m_data.GetColour().GetHandle()); ++ GetHandle()->setCurrentColor(*m_data.GetColour().GetHandle()); + + return wxTopLevelWindow::Create( parent, wxID_ANY, ""); + } +Index: wxWidgets-trunk/src/qt/colour.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/colour.cpp ++++ wxWidgets-trunk/src/qt/colour.cpp +@@ -11,11 +11,65 @@ + // For compilers that support precompilation, includes "wx.h". + #include "wx/wxprec.h" + #include "wx/qt/private/utils.h" ++#include "wx/colour.h" + + #ifdef __BORLANDC__ + #pragma hdrstop + #endif + ++wxColour::wxColour(const QColor &color) : ++ m_qtColor(new QColor(color)) ++{ ++ fprintf(stderr, "%s\n", __PRETTY_FUNCTION__); ++} ++ ++bool wxColour::IsOk(void) const ++{ ++ return m_qtColor->isValid(); ++} ++ ++unsigned char wxColour::Red(void) const ++{ ++ return m_qtColor->red(); ++} ++ ++unsigned char wxColour::Green(void) const ++{ ++ return m_qtColor->green(); ++} ++ ++unsigned char wxColour::Blue(void) const ++{ ++ return m_qtColor->blue(); ++} ++ ++unsigned char wxColour::Alpha(void) const ++{ ++ return m_qtColor->alpha(); ++} ++ ++bool wxColour::operator==(const wxColour &color) const ++{ ++ return *m_qtColor == *color.m_qtColor; ++} ++ ++bool wxColour::operator!=(const wxColour &color) const ++{ ++ return *m_qtColor != *color.m_qtColor; ++} ++ ++QColor *wxColour::GetHandle(void) const ++{ ++ return m_qtColor; ++} ++ ++void wxColour::InitRGBA(unsigned char r, unsigned char g, unsigned char b, ++ unsigned char a) ++{ ++ fprintf(stderr, "%s\n", __PRETTY_FUNCTION__); ++ m_qtColor->setRgb(r, g, b, a); ++} ++ + int wxColour::GetPixel() const + { + wxMISSING_IMPLEMENTATION( "wxColour::GetPixel" ); +Index: wxWidgets-trunk/src/qt/dc.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/dc.cpp ++++ wxWidgets-trunk/src/qt/dc.cpp +@@ -128,7 +128,7 @@ void wxQtDCImpl::SetBrush(const wxBrush& + { + // Use a monochrome mask: use foreground color for the mask + QBrush b(brush.GetHandle()); +- b.setColor(m_textForegroundColour.GetHandle()); ++ b.setColor(*m_textForegroundColour.GetHandle()); + b.setTexture(b.texture().mask()); + m_qtPainter->setBrush(b); + } +@@ -553,7 +553,7 @@ void wxQtDCImpl::DoDrawEllipse(wxCoord x + // Save pen/brush + savedBrush = m_qtPainter->brush(); + // Fill with text background color ("no fill" like in wxGTK): +- m_qtPainter->setBrush(QBrush(m_textBackgroundColour.GetHandle())); ++ m_qtPainter->setBrush(QBrush(*m_textBackgroundColour.GetHandle())); + } + + // Draw +@@ -598,8 +598,8 @@ void wxQtDCImpl::DoDrawBitmap(const wxBi + QPen savedPen = m_qtPainter->pen(); + + //Use text colors +- m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); +- m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); ++ m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); ++ m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); + + //Draw + m_qtPainter->drawPixmap(x, y, pix); +@@ -629,7 +629,7 @@ void wxQtDCImpl::DoDrawBitmap(const wxBi + void wxQtDCImpl::DoDrawText(const wxString& text, wxCoord x, wxCoord y) + { + QPen savedPen = m_qtPainter->pen(); +- m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); ++ m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); + + // Disable logical function + QPainter::CompositionMode savedOp = m_qtPainter->compositionMode(); +@@ -643,7 +643,7 @@ void wxQtDCImpl::DoDrawText(const wxStri + QBrush savedBrush = m_qtPainter->background(); + + //Use text colors +- m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); ++ m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); + + //Draw + m_qtPainter->drawText(x, y, 1, 1, Qt::TextDontClip, wxQtConvertString(text)); +@@ -672,7 +672,7 @@ void wxQtDCImpl::DoDrawRotatedText(const + m_qtPainter->rotate(-angle); + + QPen savedPen = m_qtPainter->pen(); +- m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); ++ m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); + + // Disable logical function + QPainter::CompositionMode savedOp = m_qtPainter->compositionMode(); +@@ -686,7 +686,7 @@ void wxQtDCImpl::DoDrawRotatedText(const + QBrush savedBrush = m_qtPainter->background(); + + //Use text colors +- m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); ++ m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); + + //Draw + m_qtPainter->drawText(x, y, 1, 1, Qt::TextDontClip, wxQtConvertString(text)); +Index: wxWidgets-trunk/src/qt/listctrl.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/listctrl.cpp ++++ wxWidgets-trunk/src/qt/listctrl.cpp +@@ -336,9 +336,9 @@ bool wxListCtrl::SetItem(wxListItem& inf + if ( info.GetFont().IsOk() ) + qitem->setFont(col, info.GetFont().GetHandle() ); + if ( info.GetTextColour().IsOk() ) +- qitem->setTextColor(col, info.GetTextColour().GetHandle()); ++ qitem->setTextColor(col, *info.GetTextColour().GetHandle()); + if ( info.GetBackgroundColour().IsOk() ) +- qitem->setBackgroundColor(col, info.GetBackgroundColour().GetHandle()); ++ qitem->setBackgroundColor(col, *info.GetBackgroundColour().GetHandle()); + } + return true; + } +Index: wxWidgets-trunk/src/qt/pen.cpp +=================================================================== +--- wxWidgets-trunk.orig/src/qt/pen.cpp ++++ wxWidgets-trunk/src/qt/pen.cpp +@@ -247,7 +247,7 @@ wxPen::wxPen( const wxColour &colour, in + m_refData = new wxPenRefData(); + M_PENDATA.setWidth(width); + M_PENDATA.setStyle(ConvertPenStyle(style)); +- M_PENDATA.setColor(colour.GetHandle()); ++ M_PENDATA.setColor(*colour.GetHandle()); + } + + wxPen::wxPen(const wxColour& col, int width, int style) +@@ -255,7 +255,7 @@ wxPen::wxPen(const wxColour& col, int wi + m_refData = new wxPenRefData(); + M_PENDATA.setWidth(width); + M_PENDATA.setStyle(ConvertPenStyle((wxPenStyle)style)); +- M_PENDATA.setColor(col.GetHandle()); ++ M_PENDATA.setColor(*col.GetHandle()); + } + + +@@ -276,7 +276,7 @@ bool wxPen::operator!=(const wxPen& pen) + void wxPen::SetColour(const wxColour& col) + { + AllocExclusive(); +- M_PENDATA.setColor(col.GetHandle()); ++ M_PENDATA.setColor(*col.GetHandle()); + } + + void wxPen::SetColour(unsigned char r, unsigned char g, unsigned char b)