(3) render_surfaces now segfaults on the first movement of the cursor:
(gdb) bt
#0 0x00007f0a4d0703de in mir::DefaultServerConfiguration::DefaultCursorListener::cursor_moved_to (this=0x96f9f8, abs_x=6, abs_y=0)
at /home/dan/bzr/mir/tmp.cursor/src/server/default_server_configuration.cpp:101
#1 0x00007f0a4d117292 in mir::input::android::PointerController::notify_listener (this=0x11a3150)
at /home/dan/bzr/mir/tmp.cursor/src/server/input/android/android_pointer_controller.cpp:56
#2 0x00007f0a4d117597 in mir::input::android::PointerController::setPosition (
this=0x11a3150, new_x=6, new_y=-5)
at /home/dan/bzr/mir/tmp.cursor/src/server/input/android/android_pointer_controller.cpp:112
(4) I agree mir::graphics::Buffer half fits what we need for CursorImage. Perhaps we need to keep the commonality in Buffer and move the surface-only stuff into a "SurfaceBuffer" or "ClientBuffer". Then CursorImage becomes a simple implementation of Buffer. Although such a change could come any time later...
(5) CursorRepository is a bad abstraction and the confusing word "Repository" is the reason. A repository of cursors is not a familiar concept even to a graphics programmer. I think the cursor theme should be the main object there. So instead of:
img = repository->lookup_cursor(theme_name, cursor_name, size);
a better design would be:
img = theme->get_image(cursor_name, size);
(3) render_surfaces now segfaults on the first movement of the cursor: verConfiguratio n::DefaultCurso rListener: :cursor_ moved_to (this=0x96f9f8, abs_x=6, abs_y=0) bzr/mir/ tmp.cursor/ src/server/ default_ server_ configuration. cpp:101 :android: :PointerControl ler::notify_ listener (this=0x11a3150) bzr/mir/ tmp.cursor/ src/server/ input/android/ android_ pointer_ controller. cpp:56 :android: :PointerControl ler::setPositio n ( bzr/mir/ tmp.cursor/ src/server/ input/android/ android_ pointer_ controller. cpp:112
(gdb) bt
#0 0x00007f0a4d0703de in mir::DefaultSer
at /home/dan/
#1 0x00007f0a4d117292 in mir::input:
at /home/dan/
#2 0x00007f0a4d117597 in mir::input:
this=0x11a3150, new_x=6, new_y=-5)
at /home/dan/
(4) I agree mir::graphics: :Buffer half fits what we need for CursorImage. Perhaps we need to keep the commonality in Buffer and move the surface-only stuff into a "SurfaceBuffer" or "ClientBuffer". Then CursorImage becomes a simple implementation of Buffer. Although such a change could come any time later...
(5) CursorRepository is a bad abstraction and the confusing word "Repository" is the reason. A repository of cursors is not a familiar concept even to a graphics programmer. I think the cursor theme should be the main object there. So instead of: >lookup_ cursor( theme_name, cursor_name, size); get_image( cursor_ name, size);
img = repository-
a better design would be:
img = theme->
Remember to link the relevant bugs when ready: /bugs.launchpad .net/mir/ +bugs?field. tag=cursor
https:/