diff --git a/qt/src/TQtWidget.cxx b/qt/src/TQtWidget.cxx
index cdd8cd68ade8149935965421d87e774051514079..0b87e5ab5b59249c3dcd3de79ea24545bc44c361 100644
--- a/qt/src/TQtWidget.cxx
+++ b/qt/src/TQtWidget.cxx
@@ -1,4 +1,4 @@
-// @(#)root/qt:$Name:  $:$Id: TQtWidget.cxx,v 1.76 2006/05/05 01:16:54 fine Exp $
+// @(#)root/qt:$Name:  $:$Id: TQtWidget.cxx,v 1.81 2006/08/22 23:33:32 fine Exp $
 // Author: Valeri Fine   23/01/2003
 
 /*************************************************************************
@@ -123,12 +123,6 @@ ClassImp(TQtWidget)
 //
 ////////////////////////////////////////////////////////////////////////////////
 
-//_____________________________________________________________________________
-TCanvas  *TQtWidget::Canvas()
-{
-   return GetCanvas();
-};
-
 //_____________________________________________________________________________
 TQtWidget::TQtWidget(QWidget* parent, const char* name, Qt::WFlags f,bool embedded):QWidget(parent,name,f)
           ,fBits(0),fCanvas(0),fPixmapID(this),fPaint(TRUE),fSizeChanged(FALSE)
@@ -185,6 +179,31 @@ TQtWidget::~TQtWidget()
   }
 }
 
+//_____________________________________________________________________________
+TCanvas  *TQtWidget::Canvas()
+{
+   return GetCanvas();
+};
+//_____________________________________________________________________________
+TCanvas   *TQtWidget::Canvas(TQtWidget *widget)
+{
+    // static: return TCanvas by TQtWidget pointer
+   return widget ? widget->Canvas() : 0 ;
+}
+
+//_____________________________________________________________________________
+TQtWidget *TQtWidget::Canvas(const TCanvas *canvas)
+{
+   // static: return the TQtWidget backend for TCanvas *canvas object
+   return canvas ? Canvas(canvas->GetCanvasID()) : 0;
+}
+//_____________________________________________________________________________
+TQtWidget *TQtWidget::Canvas(Int_t id)
+{
+   // static: return TQtWidget by TCanvas id
+   return dynamic_cast<TQtWidget *>(TGQt::iwid(id));
+}
+
 //_____________________________________________________________________________
 TApplication *TQtWidget::InitRint( Bool_t /*prompt*/, const char *appClassName, int *argc, char **argv,
           void *options, int numOptions, Bool_t /*noLogo*/)
@@ -333,6 +352,7 @@ void TQtWidget::customEvent(QCustomEvent *e)
          fSizeChanged=FALSE;
          fPaint = FALSE;
          setUpdatesEnabled( FALSE );
+         break;
       }
    case kFORCESIZE:
    default:
@@ -528,13 +548,14 @@ void TQtWidget::resizeEvent(QResizeEvent *e)
          // real resize event
          fSizeChanged=TRUE;
          stretchWidget(e);
-      }
+      } else {
 #else
-      fSizeChanged=TRUE;
-      fPaint = kTRUE;
-      exitSizeEvent();
+      {
+         fSizeChanged=TRUE;
+         fPaint = kTRUE;
+         exitSizeEvent();
 #endif
-   }
+      } }
 }
 //____________________________________________________________________________
 void TQtWidget::SetSaveFormat(const char *format)