On Mon, 8 Dec 2025 22:03:07 +0100 ichthyo <[email protected]> wrote:
>> On Sun, 7 Dec 2025 23:21:15 +0100 > >> ichthyo <[email protected]> wrote: > >>> oh well ... in the end this was quite a chainsaw massacre non the less... >>> >>> >>> Thus we're now at the point where the actual "experiments" could start... > > >On 08/12/2025 09:08, Will Godfrey wrote: >> This quite astonishing, and no surprise now that I was having such a hard >> time > >> trying to strip it down myself. At least it demonstrates that it's not being >> > >> caused by some of the more complex changes that have been made to the code > >> in recent years. > > >Well -- in *hindsight* I must admit that I feel quite stupid now. >I was kind-of "locked in" with my systematic approach, and that has >cost my quite some effort. > >Actually I even feel angry about myself, since I had a gut feeling initially, >where to look, but was then intimidated by the sheer complexity of the GUI. > > >Anyway, the problem is glaringly obvious > >WidgetPDial.cpp, line 195 > > cairo_surface_t* Xsurface = cairo_xlib_surface_create > (fl_display, fl_window, fl_visual->visual, > Fl_Window::current()->w() * scale, > Fl_Window::current()->h() * scale); > > >This *can* not work under Wayland. >It even yells out loudly "XLIB" > > >Well ... I have found out about that the hard way, >please have a look on my 'stripdown' branch. > >The latest Commit does not crash, because I have replaced that code >by a simple super-call. > >The preceding commit has only a single WidgetPDial, but our Cairo code, >and this crashes. > >-- Hermann Yes, as soon as you *see* this it's quite obvious really. I suppose, as a very temporary work round, we could check whether running under wayland and if so do that simple draw. This gives us a dilemma though. How can we restore a nice looking control (which has almost become a meme for Yoshimi)? I did some experimenting with cairo something like 25 years ago - so have now completely forgotten it :( I do remember though that cairo doesn't care what 'surface' you draw on, so I wonder if it is possible to draw to a block of memory, then get fltk to display it as a bit image - like it does for the splash screen. In many windows the knobs are of the same size (or just one of two sizes) so to improve drawing efficiency maybe we could make pointerless knobs of the right size and paste copies of these in the window where needed, then use fltk's line drawing to make the individual pointers. -- Will J Godfrey _______________________________________________ Yoshimi-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/yoshimi-devel
