Merge branch 'hotfix-1.7' of https://github.com/ErrorFlynn/nana into ErrorFlynn-hotfix-1.7

This commit is contained in:
Jinhao 2019-11-17 01:23:50 +08:00
commit 6353a1909b
3 changed files with 11 additions and 5 deletions

View File

@ -74,7 +74,7 @@ namespace nana
any(Value && value, any(Value && value,
typename std::enable_if<!std::is_same<any&, Value>::value>::type * = nullptr, typename std::enable_if<!std::is_same<any&, Value>::value>::type * = nullptr,
typename std::enable_if<!std::is_const<Value>::value>::type* = nullptr) typename std::enable_if<!std::is_const<Value>::value>::type* = nullptr)
: content_(new holder<typename std::decay<Value>::type>(static_cast<Value&&>(value))) : content_(new holder<typename std::decay<Value>::type>(std::forward<Value>(value)))
{ {
} }
@ -87,7 +87,7 @@ namespace nana
template<class Value> template<class Value>
any& operator=(Value&& other) any& operator=(Value&& other)
{ {
any(other).swap(*this); any(std::forward<Value>(other)).swap(*this);
return *this; return *this;
} }

View File

@ -2395,7 +2395,9 @@ namespace nana
nana::rectangle r; nana::rectangle r;
if (rect_lister(r)) if (rect_lister(r))
{ {
auto top = new_where.second * item_h + header_visible_px(); //potential displacement due to partially visible first visible item
auto disp = origin.y - first_display().item * item_h;
auto top = new_where.second * item_h + header_visible_px() - disp;
if (checkarea(item_xpos(r), static_cast<int>(top)).is_hit(pos)) if (checkarea(item_xpos(r), static_cast<int>(top)).is_hit(pos))
new_where.first = parts::checker; new_where.first = parts::checker;
} }
@ -5960,6 +5962,7 @@ namespace nana
{ {
internal_scope_guard lock; internal_scope_guard lock;
_m_ess().lister.sort_column(col, &reverse); _m_ess().lister.sort_column(col, &reverse);
_m_ess().update();
} }
auto listbox::sort_col() const -> size_type auto listbox::sort_col() const -> size_type

View File

@ -1274,7 +1274,10 @@ namespace nana
item_proxy item_proxy::operator++(int) item_proxy item_proxy::operator++(int)
{ {
return sibling(); item_proxy ip(*this);
if(trigger_ && node_)
node_ = node_->next;
return ip;
} }
item_proxy& item_proxy::operator*() item_proxy& item_proxy::operator*()
@ -1952,7 +1955,7 @@ namespace nana
impl_->attr.tree_cont.for_each<item_locator&>(shape.first, nl); impl_->attr.tree_cont.for_each<item_locator&>(shape.first, nl);
auto const node = nl.node(); auto const node = nl.node();
if (!node) if (!node || !node->child)
return; return;
switch (nl.what()) switch (nl.what())