aboutsummaryrefslogtreecommitdiff
path: root/dw
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2010-10-09 22:50:26 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2010-10-09 22:50:26 +0200
commit289364d31a9dcc694d0e277b503c512787402482 (patch)
tree0cd933ca96ba15e741c1c5ae12dcf9d5dca2963f /dw
parent61c58bd97a4bf9d217bd5e29ec3f76f92e398360 (diff)
make dillo compile with clang
* Variable length arrays are not allowed in C++. They are supported in C99 and gcc seems to accept them in C++ mode. Replace the few places where variable length arrays are used. * The widget member in ComplexButtonResource was colliding with the widget member of FltkResource, so rename it to childWidget.
Diffstat (limited to 'dw')
-rw-r--r--dw/fltkplatform.cc2
-rw-r--r--dw/fltkui.cc3
-rw-r--r--dw/fltkviewbase.cc2
-rw-r--r--dw/ui.cc14
-rw-r--r--dw/ui.hh2
5 files changed, 12 insertions, 11 deletions
diff --git a/dw/fltkplatform.cc b/dw/fltkplatform.cc
index d491cfee..010aa113 100644
--- a/dw/fltkplatform.cc
+++ b/dw/fltkplatform.cc
@@ -353,7 +353,7 @@ void FltkPlatform::detachView (core::View *view)
int FltkPlatform::textWidth (core::style::Font *font, const char *text,
int len)
{
- char chbuf[MB_CUR_MAX];
+ char chbuf[4];
wchar_t wc, wcu;
int width = 0;
FltkFont *ff = (FltkFont*) font;
diff --git a/dw/fltkui.cc b/dw/fltkui.cc
index c1bfd873..07874f2c 100644
--- a/dw/fltkui.cc
+++ b/dw/fltkui.cc
@@ -989,7 +989,7 @@ template <class I> void FltkSelectionResource<I>::addItem (const char *str,
itemWidget->set_selected();
if (setSelectedItems ()) {
// Handle multiple item selection.
- int pos[widgetStack->stack->size ()];
+ int *pos = new int[widgetStack->stack->size ()];
int i;
Iterator <TypedPointer < ::fltk::Menu> > it;
for (it = widgetStack->stack->iterator (),
@@ -1000,6 +1000,7 @@ template <class I> void FltkSelectionResource<I>::addItem (const char *str,
pos[i] = p->getTypedValue()->children () - 1;
}
widgetStack->widget->set_item (pos, widgetStack->stack->size ());
+ delete [] pos;
}
}
}
diff --git a/dw/fltkviewbase.cc b/dw/fltkviewbase.cc
index efc5c952..3fb43cb1 100644
--- a/dw/fltkviewbase.cc
+++ b/dw/fltkviewbase.cc
@@ -494,7 +494,7 @@ void FltkWidgetView::drawText (core::style::Font *font,
int viewX = translateCanvasXToViewX (x),
viewY = translateCanvasYToViewY (y);
int curr = 0, next = 0, nb;
- char chbuf[MB_CUR_MAX];
+ char chbuf[4];
wchar_t wc, wcu;
if (font->fontVariant == 1) {
diff --git a/dw/ui.cc b/dw/ui.cc
index 058dfde8..5d5d2bf6 100644
--- a/dw/ui.cc
+++ b/dw/ui.cc
@@ -280,7 +280,7 @@ ComplexButtonResource::ComplexButtonResource ()
void ComplexButtonResource::init (Widget *widget)
{
- this->widget = widget;
+ this->childWidget = widget;
layout = new Layout (createPlatform ());
setLayout (layout);
@@ -292,7 +292,7 @@ void ComplexButtonResource::setEmbed (Embed *embed)
{
ButtonResource::setEmbed (embed);
- if (widget->usesHints ())
+ if (childWidget->usesHints ())
embed->setUsesHints ();
}
@@ -304,7 +304,7 @@ ComplexButtonResource::~ComplexButtonResource ()
void ComplexButtonResource::sizeRequest (Requisition *requisition)
{
Requisition widgetRequisition;
- widget->sizeRequest (&widgetRequisition);
+ childWidget->sizeRequest (&widgetRequisition);
requisition->width = widgetRequisition.width + 2 * reliefXThickness ();
requisition->ascent = widgetRequisition.ascent + reliefYThickness ();
requisition->descent = widgetRequisition.descent + reliefYThickness ();
@@ -313,7 +313,7 @@ void ComplexButtonResource::sizeRequest (Requisition *requisition)
void ComplexButtonResource::getExtremes (Extremes *extremes)
{
Extremes widgetExtremes;
- widget->getExtremes (&widgetExtremes);
+ childWidget->getExtremes (&widgetExtremes);
extremes->minWidth = widgetExtremes.minWidth + 2 * reliefXThickness ();
extremes->maxWidth = widgetExtremes.maxWidth + 2 * reliefXThickness ();
}
@@ -324,17 +324,17 @@ void ComplexButtonResource::sizeAllocate (Allocation *allocation)
void ComplexButtonResource::setWidth (int width)
{
- widget->setWidth (width - 2 * reliefXThickness ());
+ childWidget->setWidth (width - 2 * reliefXThickness ());
}
void ComplexButtonResource::setAscent (int ascent)
{
- widget->setAscent (ascent - reliefYThickness ());
+ childWidget->setAscent (ascent - reliefYThickness ());
}
void ComplexButtonResource::setDescent (int descent)
{
- widget->setDescent (descent - reliefYThickness ());
+ childWidget->setDescent (descent - reliefYThickness ());
}
Iterator *ComplexButtonResource::iterator (Content::Type mask, bool atEnd)
diff --git a/dw/ui.hh b/dw/ui.hh
index 02aab093..b0a22cbf 100644
--- a/dw/ui.hh
+++ b/dw/ui.hh
@@ -382,7 +382,7 @@ private:
friend class LayoutReceiver;
LayoutReceiver layoutReceiver;
- Widget *widget;
+ Widget *childWidget;
protected:
Layout *layout;