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";