NANA_POSIX for bits common to Linux, MacOS and BSD. OSS sound as fall-back for POSIX. Cheat for detecting default browser on POSIX.

This commit is contained in:
unitrunker
2018-01-21 23:41:52 -06:00
parent 81018c21fd
commit c7434afed8
28 changed files with 415 additions and 176 deletions

View File

@@ -206,7 +206,7 @@ namespace detail
}
}
};
class timer_runner
{
typedef void (*timer_proc_t)(std::size_t id);
@@ -250,7 +250,7 @@ namespace detail
i->second.proc = proc;
return;
}
unsigned tid = nana::system::this_thread_id();
auto tid = nana::system::this_thread_id();
threadmap_[tid].timers.insert(id);
timer_tag & tag = holder_[id];
@@ -272,7 +272,7 @@ namespace detail
if(i != holder_.end())
{
auto tid = i->second.tid;
auto ig = threadmap_.find(tid);
if(ig != threadmap_.end()) //Generally, the ig should not be the end of threadmap_
{
@@ -723,7 +723,7 @@ namespace detail
::XFree(attr);
}
else
addr->input_context = ::XCreateIC(addr->input_method,
addr->input_context = ::XCreateIC(addr->input_method,
XNInputStyle, (XIMPreeditNothing | XIMStatusNothing),
XNClientWindow, reinterpret_cast<Window>(wd),
XNFocusWindow, reinterpret_cast<Window>(wd), nullptr);
@@ -794,7 +794,7 @@ namespace detail
XSetWindowAttributes new_attr;
//Don't remove the KeyPress and KeyRelease mask(0x3), otherwise the window will not receive
//Keyboard events after destroying caret
//Keyboard events after destroying caret
new_attr.event_mask = (attr.your_event_mask & ~(addr->input_context_event_mask & (~0x3)));
::XChangeWindowAttributes(display_, reinterpret_cast<Window>(wd), CWEventMask, &new_attr);
}
@@ -1066,7 +1066,7 @@ namespace detail
// 2 = msg_dispatcher should ignore the msg, because the XEvent is processed by _m_msg_filter
int platform_spec::_m_msg_filter(XEvent& evt, msg_packet_tag& msg)
{
auto & bedrock = detail::bedrock::instance();
auto & bedrock = detail::bedrock::instance();
platform_spec & self = instance();
if(KeyPress == evt.type || KeyRelease == evt.type)