Duncan Simpson <[EMAIL PROTECTED]> writes: | g++ 3.3 complains about passing insettext.C passing a non-lvalue to max. The | following patch fixes this problem. Someone please apply.
Hmm... are you able to compile with gcc 3.3? I get an ICE whenever I try? What version of LyX? | | --- src/insets/insettext.C.dist Tue Feb 4 10:21:03 2003 | +++ src/insets/insettext.C Tue Feb 4 10:25:08 2003 | @@ -312,7 +312,9 @@ | | int InsetText::width(BufferView * bv, LyXFont const &) const | { | - insetWidth = max(textWidth(bv), (int)getLyXText(bv)->width) + | + int wd; | + wd=getLyXText(bv)->width; Note that you are not writing C now, but C++: int wd = getLyXText(bv)->width; | + insetWidth = max(textWidth(bv), wd) + | (2 * TEXT_TO_INSET_OFFSET); | insetWidth = max(insetWidth, 10); | return insetWidth; | @@ -321,15 +323,15 @@ | | int InsetText::textWidth(BufferView * bv, bool fordraw) const | { | - int w; | + int w, wd; | if (!autoBreakRows) { | w = -1; | } else { | w = getMaxWidth(bv, this); | } I guess this should be changed to: int w = (autoBreakRows ? getMaxWidth(bv, this) : -1); | if (fordraw) { | - return max(w - (2 * TEXT_TO_INSET_OFFSET), | - (int)getLyXText(bv)->width); | + wd=getLyXText(bv)->width; int wd = getLyXText(bv)->width; | + return max(w - (2 * TEXT_TO_INSET_OFFSET), wd); | } else if (w < 0) { | return -1; | } -- Lgb