[haiku-commits] haiku: hrev52809 - src/kits/interface headers/os/interface src/data/mime_db/application

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 27 Jan 2019 14:37:56 -0500 (EST)

hrev52809 adds 2 changesets to branch 'master'
old head: b2d62af35affca2c2adf2d1a84554114f40ab903
new head: 187bbba6afcb9e03ace0ba388bb84aa6dca3034e
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=187bbba6afcb+%5Eb2d62af35aff

----------------------------------------------------------------------------

4854630d2902: BScrollView: Resize scrollbars dynamically based on target's 
B_SUPPORTS_LAYOUT...
  
  ...instead of the BScrollView itself's layout flag. Thanks to Adrien and
  Kacper for discussion on the mailing list.

187bbba6afcb: mime_db: Fix another typo.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

3 files changed, 14 insertions(+), 11 deletions(-)
headers/os/interface/ScrollView.h                |  3 ++-
.../application/vnd.oasis.opendocument.graphics  |  2 +-
src/kits/interface/ScrollView.cpp                | 20 +++++++++++---------

############################################################################

Commit:      4854630d290208095d847eca34ad738653bf3cbc
URL:         https://git.haiku-os.org/haiku/commit/?id=4854630d2902
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Jan 27 19:35:32 2019 UTC

BScrollView: Resize scrollbars dynamically based on target's 
B_SUPPORTS_LAYOUT...

...instead of the BScrollView itself's layout flag. Thanks to Adrien and
Kacper for discussion on the mailing list.

----------------------------------------------------------------------------

diff --git a/headers/os/interface/ScrollView.h 
b/headers/os/interface/ScrollView.h
index d90c758762..faeae09a76 100644
--- a/headers/os/interface/ScrollView.h
+++ b/headers/os/interface/ScrollView.h
@@ -113,7 +113,8 @@ private:
                                                                        bool 
vertical, border_style border,
                                                                        uint32 
borders);
        static  float                           _BorderSize(border_style 
border);
-       static  int32                           _ModifyFlags(int32 flags, 
border_style border);
+       static  uint32                          _ModifyFlags(uint32 flags, 
BView* target,
+                                                                       
border_style border);
        static  void                            _InsetBorders(BRect& frame, 
border_style border,
                                                                        uint32 
borders, bool expand = false);
 private:
diff --git a/src/kits/interface/ScrollView.cpp 
b/src/kits/interface/ScrollView.cpp
index ee6a1d0507..c4bf4ea916 100644
--- a/src/kits/interface/ScrollView.cpp
+++ b/src/kits/interface/ScrollView.cpp
@@ -31,7 +31,7 @@ BScrollView::BScrollView(const char* name, BView* target, 
uint32 resizingMode,
        :
        BView(_ComputeFrame(target, horizontal, vertical, border,
                BControlLook::B_ALL_BORDERS), name, resizingMode,
-               _ModifyFlags(flags, border)),
+               _ModifyFlags(flags, target, border)),
        fTarget(target),
        fBorder(border)
 {
@@ -42,7 +42,7 @@ BScrollView::BScrollView(const char* name, BView* target, 
uint32 resizingMode,
 BScrollView::BScrollView(const char* name, BView* target, uint32 flags,
        bool horizontal, bool vertical, border_style border)
        :
-       BView(name, _ModifyFlags(flags | B_SUPPORTS_LAYOUT, border)),
+       BView(name, _ModifyFlags(flags, target, border)),
        fTarget(target),
        fBorder(border)
 {
@@ -273,8 +273,8 @@ BScrollView::FrameResized(float newWidth, float newHeight)
 
        const BRect bounds = Bounds();
 
-       if ((Flags() & B_SUPPORTS_LAYOUT) != 0) {
-               BSize size = fTarget != NULL ? fTarget->PreferredSize() : 
BSize();
+       if (fTarget != NULL && (fTarget->Flags() & B_SUPPORTS_LAYOUT) != 0) {
+               BSize size = fTarget->PreferredSize();
                if (fHorizontalScrollBar != NULL) {
                        float delta = size.Width() - bounds.Width(),
                                proportion = bounds.Width() / size.Width();
@@ -472,7 +472,7 @@ BScrollView::SetBorder(border_style border)
 
        if ((Flags() & B_SUPPORTS_LAYOUT) != 0) {
                fBorder = border;
-               SetFlags(_ModifyFlags(Flags(), border));
+               SetFlags(_ModifyFlags(Flags(), fTarget, border));
 
                DoLayout();
                Invalidate();
@@ -520,7 +520,7 @@ BScrollView::SetBorder(border_style border)
                fVerticalScrollBar->ResizeBy(0, resize + verticalGap - change);
        }
 
-       SetFlags(_ModifyFlags(Flags(), border));
+       SetFlags(_ModifyFlags(Flags(), fTarget, border));
 }
 
 
@@ -621,6 +621,8 @@ BScrollView::SetTarget(BView* target)
                        // be added top most in the list (which is important
                        // for unarchiving)
        }
+
+       SetFlags(_ModifyFlags(Flags(), fTarget, fBorder));
 }
 
 
@@ -952,10 +954,10 @@ BScrollView::_BorderSize(border_style border)
 /*!    This method changes the "flags" argument as passed on to
        the BView constructor.
 */
-/*static*/ int32
-BScrollView::_ModifyFlags(int32 flags, border_style border)
+/*static*/ uint32
+BScrollView::_ModifyFlags(uint32 flags, BView* target, border_style border)
 {
-       if ((flags & B_SUPPORTS_LAYOUT) != 0)
+       if (target != NULL && (target->Flags() & B_SUPPORTS_LAYOUT) != 0)
                flags |= B_FRAME_EVENTS;
 
        // We either need B_FULL_UPDATE_ON_RESIZE or B_FRAME_EVENTS if we have

############################################################################

Revision:    hrev52809
Commit:      187bbba6afcb9e03ace0ba388bb84aa6dca3034e
URL:         https://git.haiku-os.org/haiku/commit/?id=187bbba6afcb
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Jan 27 19:36:56 2019 UTC

mime_db: Fix another typo.

----------------------------------------------------------------------------

diff --git a/src/data/mime_db/application/vnd.oasis.opendocument.graphics 
b/src/data/mime_db/application/vnd.oasis.opendocument.graphics
index f31df63622..479782c36b 100644
--- a/src/data/mime_db/application/vnd.oasis.opendocument.graphics
+++ b/src/data/mime_db/application/vnd.oasis.opendocument.graphics
@@ -3,7 +3,7 @@ resource(0, "BEOS:TYPE") #'MIMS' 
"application/x-vnd.Be-meta-mime";
 
 resource(1, "META:TYPE") "application/vnd.oasis.opendocument.graphics";
 
-resource(2, "META:SNIFF_RULE") "0.50 (\"PK\") [0:512]( -i 
"\graphics-template\" | \"oasis.opendocument.graphics\")";
+resource(2, "META:SNIFF_RULE") "0.50 (\"PK\") [0:512]( -i 
\"graphics-template\" | \"oasis.opendocument.graphics\")";
 
 resource(3, "META:S:DESC") #'MSDC' "OpenDocument Drawing";
 


Other related posts:

  • » [haiku-commits] haiku: hrev52809 - src/kits/interface headers/os/interface src/data/mime_db/application - waddlesplash