davidedmundson added a comment.

  looks good to me too.

INLINE COMMENTS

> colorpicker.cpp:56
> +    : m_replyConnection(QDBusConnection::sessionBus())
> +    , m_scheduledPosition(QPoint(-1, -1))
> +{

KWin has a lovely class ClearablePoint for doing exactly this

> colorpicker.cpp:64
> +{
> +    
> QDBusConnection::sessionBus().unregisterObject(QStringLiteral("/ColorPicker"));
> +}

FWIW, this line isn't needed

> colorpicker.cpp:84
> +        const QRect geo = GLRenderTarget::virtualScreenGeometry();
> +        glReadnPixels(m_scheduledPosition.x() - geo.x(), geo.height() - 
> geo.y() - m_scheduledPosition.y(), 1, 1, GL_RGB, GL_UNSIGNED_BYTE, 3, data);
> +        m_replyConnection.send(m_replyMessage.createReply(QColor(data[0], 
> data[1], data[2])));

FWIW (though not worth changing it) if you're going to have n=1 you can use 
glReadPixels

> colorpicker.cpp:101
> +    m_picking = true;
> +    m_replyConnection = connection();
> +    m_replyMessage = message();

there's not a lot of point doing this, you know what connection it is as you 
only register this on the session bus (line 59)

> colorpicker.cpp:110
> +                // error condition
> +                
> m_replyConnection.send(m_replyMessage.createErrorReply(QDBusError::Failed, 
> "Color picking got cancelled"));
> +                m_picking = false;

DBus error messages have two parts:

a computer readable name, and a human readable stirng.

You want to supply a better name than "org.freedesktop.DBus.Error.Failed" 
(which is what this expands to) so that spectacle can tell the difference 
between failed and cancelled without parsing strings meant for humans.

> graesslin wrote in colorpicker.h:37
> No, he complained about different services. Different interface was fine.

Just to chime in, mgraesslin is right.

A different interface is very sensible as apparmor and selinux (and in turn 
snappy) can filter on interfaces.

REPOSITORY
  rKWIN KWin

BRANCH
  color-picker-effect

REVISION DETAIL
  https://phabricator.kde.org/D3480

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: graesslin, #kwin, #plasma_on_wayland, broulik
Cc: davidedmundson, plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, 
jensreuterberg, abetts, sebas

Reply via email to