Merge remote-tracking branch 'cnjinhao/hotfix-1.5.5' into hotfix-1.5.5

This commit is contained in:
qPCR4vir 2017-10-19 22:19:11 +02:00
commit cff3ec58d4
4 changed files with 15 additions and 18 deletions

View File

@ -312,7 +312,14 @@ namespace nana
/// @param lightness in range of [0, 1] /// @param lightness in range of [0, 1]
color& from_hsl(double hue, double saturation, double lightness); ///< immutable alpha channel color& from_hsl(double hue, double saturation, double lightness); ///< immutable alpha channel
color blend(const color& blending_color, double alpha) const; /// Blends color
/**
* Returns a color which is blended as this * (1 - fade_rate) + blending_color * fade_rate
* @param blending_color Color to blend
* @param fade_rate Blending rate for blending_color
* @return a blended color
*/
color blend(const color& blending_color, double fade_rate) const;
/// Determines whether the color is completely transparent. /// Determines whether the color is completely transparent.
bool invisible() const; bool invisible() const;

View File

@ -219,8 +219,6 @@ namespace detail
Key first; Key first;
Value second; Value second;
key_value_rep() = default;
key_value_rep(const Key& k) key_value_rep(const Key& k)
: first(k), second{} : first(k), second{}
{ {
@ -258,15 +256,7 @@ namespace detail
std::vector<key_value_rep> table_; std::vector<key_value_rep> table_;
}; };
//class window_manager //class window_manager
struct window_handle_deleter
{
void operator()(basic_window* wd) const
{
delete wd;
}
};
//struct wdm_private_impl //struct wdm_private_impl
struct window_manager::wdm_private_impl struct window_manager::wdm_private_impl
{ {
@ -506,7 +496,7 @@ namespace detail
if (impl_->wd_register.available(owner)) if (impl_->wd_register.available(owner))
{ {
if (owner->flags.destroying) if (owner->flags.destroying)
throw std::runtime_error("the specified owner is destory"); throw std::runtime_error("the specified owner is destoryed");
#ifndef WIDGET_FRAME_DEPRECATED #ifndef WIDGET_FRAME_DEPRECATED
native = (category::flags::frame == owner->other.category ? native = (category::flags::frame == owner->other.category ?

View File

@ -4166,16 +4166,16 @@ namespace nana
{ {
if (item_ptr->flags.selected != sel) if (item_ptr->flags.selected != sel)
{ {
item_ptr->flags.selected = sel; if (sel)
lister.emit_cs(abs_item_pos, true);
if (item_ptr->flags.selected)
{ {
lister.cancel_others_if_single_enabled(true, abs_item_pos); lister.cancel_others_if_single_enabled(true, abs_item_pos);
essence_->lister.latest_selected_abs = abs_item_pos; essence_->lister.latest_selected_abs = abs_item_pos;
} }
else if (essence_->lister.latest_selected_abs == abs_item_pos) else if (essence_->lister.latest_selected_abs == abs_item_pos)
essence_->lister.latest_selected_abs.set_both(npos); essence_->lister.latest_selected_abs.set_both(npos);
item_ptr->flags.selected = sel;
lister.emit_cs(abs_item_pos, true);
} }
} }
else else

View File

@ -271,7 +271,7 @@ namespace paint
graphics::operator bool() const noexcept graphics::operator bool() const noexcept
{ {
return impl_->handle; return (impl_->handle != nullptr);
} }
drawable_type graphics::handle() const drawable_type graphics::handle() const