[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/unity/WebKit/WebCore/platform/qt
From:       Nikolas Zimmermann <wildfox () kde ! org>
Date:       2006-08-01 17:48:23
Message-ID: 1154454503.348379.2191.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 568597 by wildfox:

* Protect against null widget (could happen)

* Fix viewportToContents/contentsToViewport (Qt already does the work!)
  -> before that after scrolling one couldn't use any widget anymore
     (entering text wasn't possible, or clicking on buttons etc..)


 M  +16 -14    ScrollViewQt.cpp  


--- branches/work/unity/WebKit/WebCore/platform/qt/ScrollViewQt.cpp #568596:568597
@@ -34,16 +34,11 @@
 
 #include "FrameQt.h"
 #include "CanvasQt.h"
+#include "HelperQt.h"
 
 #include <QScrollBar>
 #include <QScrollArea>
 
-#include <QApplication>
-
-using namespace std;
-
-#define notImplemented() do { fprintf(stderr, "FIXME: UNIMPLEMENTED: %s:%d\n", \
                __FILE__, __LINE__); } while(0)
-
 namespace WebCore {
 
 ScrollView::ScrollView() : m_area(new QScrollArea(0))
@@ -72,7 +67,8 @@
 
 void ScrollView::updateContents(const IntRect& updateRect, bool now)
 {
-    m_area->widget()->update(updateRect);
+    if (m_area->widget())
+        m_area->widget()->update(updateRect);
 }
 
 int ScrollView::visibleWidth() const
@@ -103,7 +99,7 @@
 void ScrollView::resizeContents(int w, int h)
 {
     if (m_area->widget())
-        m_area->widget()->resize(w,h);
+        m_area->widget()->resize(w, h);
 }
 
 int ScrollView::contentsX() const
@@ -118,24 +114,30 @@
 
 int ScrollView::contentsWidth() const
 {
+    if (!m_area->widget())
+        return 0;
+
     return m_area->widget()->width();
 }
 
 int ScrollView::contentsHeight() const
 {
+    if (!m_area->widget())
+        return 0;
+
     return m_area->widget()->height();
 }
 
 IntPoint ScrollView::viewportToContents(const IntPoint& viewportPoint)
 {
-    return IntPoint(viewportPoint.x() + m_area->horizontalScrollBar()->value(),
-                    viewportPoint.y() + m_area->verticalScrollBar()->value());
+    // Qt already handles this in the coordinates we get from the mouse events...
+    return viewportPoint;
 }
 
 IntPoint ScrollView::contentsToViewport(const IntPoint& contentsPoint)
 {
-    return IntPoint(contentsPoint.x() - m_area->horizontalScrollBar()->value(),
-                    contentsPoint.y() - m_area->verticalScrollBar()->value());
+    // Qt already handles this in the coordinates we get from the mouse events...
+    return contentsPoint;
 }
 
 IntSize ScrollView::scrollOffset() const
@@ -145,8 +147,8 @@
 
 void ScrollView::scrollBy(int dx, int dy)
 {
-    m_area->horizontalScrollBar()->setValue(m_area->horizontalScrollBar()->value()+dx);
                
-    m_area->verticalScrollBar()->setValue(m_area->verticalScrollBar()->value()+dy);
+    m_area->horizontalScrollBar()->setValue(m_area->horizontalScrollBar()->value() + \
dx); +    m_area->verticalScrollBar()->setValue(m_area->verticalScrollBar()->value() \
+ dy);  }
 
 ScrollBarMode ScrollView::hScrollBarMode() const


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic