[haiku-commits] Change in haiku[master]: ViewHWInterface: make updating faster, capture pointer on mouse down

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 28 May 2020 07:27:11 +0000

From X512 <danger_mail@xxxxxxx>:

X512 has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/2830 ;)


Change subject: ViewHWInterface: make updating faster, capture pointer on mouse 
down
......................................................................

ViewHWInterface: make updating faster, capture pointer on mouse down

Change-Id: I14551e9db2ddb47e8aab492c2d241df1001f6d79
---
M src/servers/app/drawing/ViewHWInterface.cpp
1 file changed, 6 insertions(+), 11 deletions(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/30/2830/1

diff --git a/src/servers/app/drawing/ViewHWInterface.cpp 
b/src/servers/app/drawing/ViewHWInterface.cpp
index 7d4b2ea..351ed58 100644
--- a/src/servers/app/drawing/ViewHWInterface.cpp
+++ b/src/servers/app/drawing/ViewHWInterface.cpp
@@ -146,7 +146,6 @@

 private:
                        CardView*                       fView;
-                       BMessageRunner*         fUpdateRunner;
                        BRegion                         fUpdateRegion;
                        BLocker                         fUpdateLock;
 };
@@ -276,6 +275,9 @@
                case B_MOUSE_DOWN:
                case B_MOUSE_UP:
                case B_MOUSE_WHEEL_CHANGED:
+                       if (message->what == B_MOUSE_DOWN)
+                               fView->SetMouseEventMask(B_POINTER_EVENTS);
+
                        fView->ForwardMessage(message);
                        return B_SKIP_MESSAGE;

@@ -305,7 +307,6 @@
        :
        BWindow(frame, "Haiku App Server", B_TITLED_WINDOW,
                B_NOT_ZOOMABLE | B_NOT_RESIZABLE | 
B_NO_SERVER_SIDE_WINDOW_MODIFIERS),
-       fUpdateRunner(NULL),
        fUpdateRegion(),
        fUpdateLock("update lock")
 {
@@ -318,7 +319,6 @@

 CardWindow::~CardWindow()
 {
-       delete fUpdateRunner;
 }


@@ -381,14 +381,9 @@
 void
 CardWindow::Invalidate(const BRect& frame)
 {
-       if (fUpdateLock.Lock()) {
-               if (!fUpdateRunner) {
-                       BMessage message(MSG_UPDATE);
-                       fUpdateRunner = new BMessageRunner(BMessenger(this, 
this), &message,
-                               20000);
-               }
-               fUpdateRegion.Include(frame);
-               fUpdateLock.Unlock();
+       if (LockWithTimeout(1000000) >= B_OK) {
+               fView->Invalidate(frame);
+               Unlock();
        }
 }


--
To view, visit https://review.haiku-os.org/c/haiku/+/2830
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I14551e9db2ddb47e8aab492c2d241df1001f6d79
Gerrit-Change-Number: 2830
Gerrit-PatchSet: 1
Gerrit-Owner: X512 <danger_mail@xxxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: ViewHWInterface: make updating faster, capture pointer on mouse down - Gerrit