<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    In debugging our cursor code and getting it under tests I found
    something surprising (to me). Vis:<br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <pre style="background-color:#ffffff;color:#000000;font-family:'DejaVu Sans Mono';font-size:9.0pt;"><span style="color:#008080;">std</span>::<span style="background-color:#e4e4ff;">shared_ptr</span><<span style="color:#008080;">mi</span>::<span style="color:#008080;">CursorImages</span>>
<span style="color:#008080;">mir</span>::<span style="color:#008080;">DefaultServerConfiguration</span>::the_cursor_images()
{
    <span style="color:#000080;font-weight:bold;">return </span><span style="color:#660e7a;">cursor_images</span><span style="color:#008080;">(
</span><span style="color:#008080;">        </span>[<span style="color:#000080;font-weight:bold;">this</span>]() -> <span style="color:#008080;">std</span>::<span style="background-color:#e4e4ff;">shared_ptr</span><<span style="color:#008080;">mi</span>::<span style="color:#008080;">CursorImages</span>>
        {
            <span style="color:#000080;font-weight:bold;">auto </span>xcursor_loader = <span style="color:#008080;">std</span>::make_shared<<span style="color:#008080;">mi</span>::<span style="color:#008080;">XCursorLoader</span>>();
            <span style="color:#000080;font-weight:bold;">if </span>(has_default_cursor(<span style="color:#008080;">*</span>xcursor_loader))
                <span style="color:#000080;font-weight:bold;">return </span>xcursor_loader;
            <span style="color:#000080;font-weight:bold;">else
</span><span style="color:#000080;font-weight:bold;">                return </span><span style="color:#008080;">std</span>::make_shared<<span style="color:#008080;">mi</span>::<span style="color:#008080;">BuiltinCursorImages</span>>();
        }<span style="color:#008080;">)</span>;
}

</pre>
    Which translates to "see if X cursors images are available, if so
    use them, otherwise use a builtin cursor". I don't think this is
    correct behaviour for *core* libmirserver - I think that should
    always and predictably use the builtin image. Something like the
    above makes perfect sense in example code, but I don't think we
    should hard wire this as the default.<br>
    <br>
    Does anyone have an objection to changing the above to...<br>
    <br>
    <pre style="background-color:#ffffff;color:#000000;font-family:'DejaVu Sans Mono';font-size:9.0pt;"><span style="color:#008080;">std</span>::<span style="background-color:#e4e4ff;">shared_ptr</span><<span style="color:#008080;">mi</span>::<span style="color:#008080;">CursorImages</span>>
<span style="color:#008080;">mir</span>::<span style="color:#008080;">DefaultServerConfiguration</span>::the_cursor_images()
{
    <span style="color:#000080;font-weight:bold;">return </span><span style="color:#660e7a;">cursor_images</span><span style="color:#008080;">(
</span><span style="color:#008080;">        </span>[<span style="color:#000080;font-weight:bold;">this</span>]() -> <span style="color:#008080;">std</span>::<span style="background-color:#e4e4ff;">shared_ptr</span><<span style="color:#008080;">mi</span>::<span style="color:#008080;">CursorImages</span>>
        {
 <span style="color:#000080;font-weight:bold;">           return </span><span style="color:#008080;">std</span>::make_shared<<span style="color:#008080;">mi</span>::<span style="color:#008080;">BuiltinCursorImages</span>>();
 <span style="color:#000080;font-weight:bold;"></span>       }<span style="color:#008080;">)</span>;
}
</pre>
    ...and moving the X cursor support to libexampleserverconfig.a?<br>
  </body>
</html>