kdelibs/khtml/rendering

Dirk Mueller mueller at kde.org
Thu Jul 31 18:01:38 CEST 2003


CVS commit by mueller: 

ugh. something that I suspected to be a gcc bug in 3.4 so far is actually
a bug in our code. In C++, enum's are not (anymore) at least sizeof(int) wide.
instead, they're just the number of bits that are required to represent
the values during declaration. other values assigned to it are 
just silently truncated.

This bug must exist in many variations in KDE source, as neither arts works
nor kdeinit nor many other apps. The worst part is that there is no
compiler warning of error for it. Happy bughunting :-(

CCMAIL: khtml-devel at kde.org
CCMAIL: kde-core-devel at kde.org


  M +3 -3      render_replaced.cpp   1.117


--- kdelibs/khtml/rendering/render_replaced.cpp  #1.116:1.117
@@ -161,5 +161,5 @@ class QWidgetResizeEvent : public QEvent
 {
 public:
-    enum { Type = 0xfeedabee };
+    enum { Type = QEvent::User + 0xbee };
     QWidgetResizeEvent( int _w,  int _h ) :
         QEvent( (QEvent::Type)Type ),  w( _w ), h( _h ) {}
@@ -185,5 +185,5 @@ void  RenderWidget::resizeWidget( int w,
 bool RenderWidget::event( QEvent *e )
 {
-    if ( m_widget && (e->type() == (int)QWidgetResizeEvent::Type) ) {
+    if ( m_widget && (e->type() == (QEvent::Type)QWidgetResizeEvent::Type) ) {
         QWidgetResizeEvent *re = static_cast<QWidgetResizeEvent *>(e);
         m_widget->resize( re->w,  re->h );




More information about the Khtml-devel mailing list