> === modified file 'debian/rules'
> -DNO_TESTS=1 - please undo, we want tests!
>
> === added file 'demos/qml-demo-client/main.cpp'
> I don't understand what this is useful for. Isn't the "qml" binary sufficient?
>
> === added file 'demos/qml-demo-shell/main.cpp'
> same here.
>
It's so we can get them to work with the benchmark util. The client needs to parse the command line parameters for the socket.
>
> === added file 'src/common/utils.h'
> file name "utils" as vague as possible:) Can you be more specific?
timestamp.h
>
> +++ src/common/utils.cpp
> +qint64 resetStartTime(qint64 timestamp) {
> +qint64 getStartTime_nsec(qint64 timestamp) {
> please stick into an anonymous namespace
>
> The indenting is inconsistent in the whole file.
>
> + QCoreApplication::instance()->setProperty("appStartTime", timestamp);
> I suspect a static variable would do the job just as well.
Used extern functions with a variable. Needs to be shared by the different modules.
>
> + qint64 startTime = getStartTime_nsec(timestamp.count())/1000000;
> std::chrono has nanosecond to milisecond conversion abilities built in, I
> think you can just cast and it works. It would be safer than dividing by
> 1000000. I suspect you can avoid all usages of qint64 as a result.
>
>
> ====
> This compression is a clever idea to work around the difference in timestamp
> units Qt & Mir uses. I'm still curious if instead of tying ourselves to the
> event APIs Qt has, e.g.
>
> void QWindowSystemInterface::handleFrameStrutMouseEvent(QWindow *w,
> ulong timestamp, const QPointF & local, const QPointF & global,
> Qt::MouseButtons b, Qt::KeyboardModifiers mods,
> Qt::MouseEventSource source)
>
> we could make our own handle*Event() methods. In the end, the above method
> simply does:
>
> QWindowSystemInterfacePrivate::MouseEvent * e =
> new QWindowSystemInterfacePrivate::MouseEvent(w, timestamp,
> QWindowSystemInterfacePrivate::FrameStrutMouse,
> QHighDpi::fromNativeLocalPosition(local, w),
> QHighDpi::fromNativePixels(global, w), b, mods, source);
>
> QWindowSystemInterfacePrivate::handleWindowSystemEvent(e);
>
> If we subclassed QWindowSystemInterfacePrivate::MouseEvent, and added the
> timestamp type we want, that event might pass through Qt safely. This would be
> especially usesful for Mir events which have more detail that Qt events have.
>
> To be investigated. For now, your approach is good.
I'll take a look into it when i get a minute.
> ====
>
>
> std::chrono::milliseconds compressTimestamp(std::chrono::nanoseconds
> timestamp);
> Do you need the milliseconds anywhere, as I only see you calling .count() on
> this everywhere it's used. Why not just return ulong?
>
> Also, would be good to document *why* you've done the timestamp
> compression/decompression, for future souls.
Done. in the header.
>
>
> === modified file 'src/platforms/mirserver/tracepoints.tp'
> Typos:
> touchEventDisptach_start
> touchEventDisptach_end
> and these propagate throughout the whole of mirserver.
> === modified file 'debian/rules' qml-demo- client/ main.cpp' qml-demo- shell/main. cpp'
> -DNO_TESTS=1 - please undo, we want tests!
>
> === added file 'demos/
> I don't understand what this is useful for. Isn't the "qml" binary sufficient?
>
> === added file 'demos/
> same here.
>
It's so we can get them to work with the benchmark util. The client needs to parse the command line parameters for the socket.
> utils.h'
> === added file 'src/common/
> file name "utils" as vague as possible:) Can you be more specific?
timestamp.h
> utils.cpp qint64 timestamp) { nsec(qint64 timestamp) { n::instance( )->setProperty( "appStartTime" , timestamp);
> +++ src/common/
> +qint64 resetStartTime(
> +qint64 getStartTime_
> please stick into an anonymous namespace
>
> The indenting is inconsistent in the whole file.
>
> + QCoreApplicatio
> I suspect a static variable would do the job just as well.
Used extern functions with a variable. Needs to be shared by the different modules.
> nsec(timestamp. count() )/1000000; terface: :handleFrameStr utMouseEvent( QWindow *w, ifiers mods, ource source) terfacePrivate: :MouseEvent * e = terfacePrivate: :MouseEvent( w, timestamp, terfacePrivate: :FrameStrutMous e, :fromNativeLoca lPosition( local, w), :fromNativePixe ls(global, w), b, mods, source); terfacePrivate: :handleWindowSy stemEvent( e); terfacePrivate: :MouseEvent, and added the
> + qint64 startTime = getStartTime_
> std::chrono has nanosecond to milisecond conversion abilities built in, I
> think you can just cast and it works. It would be safer than dividing by
> 1000000. I suspect you can avoid all usages of qint64 as a result.
>
>
> ====
> This compression is a clever idea to work around the difference in timestamp
> units Qt & Mir uses. I'm still curious if instead of tying ourselves to the
> event APIs Qt has, e.g.
>
> void QWindowSystemIn
> ulong timestamp, const QPointF & local, const QPointF & global,
> Qt::MouseButtons b, Qt::KeyboardMod
> Qt::MouseEventS
>
> we could make our own handle*Event() methods. In the end, the above method
> simply does:
>
> QWindowSystemIn
> new QWindowSystemIn
> QWindowSystemIn
> QHighDpi:
> QHighDpi:
>
> QWindowSystemIn
>
> If we subclassed QWindowSystemIn
> timestamp type we want, that event might pass through Qt safely. This would be
> especially usesful for Mir events which have more detail that Qt events have.
>
> To be investigated. For now, your approach is good.
I'll take a look into it when i get a minute.
> ==== :milliseconds compressTimesta mp(std: :chrono: :nanoseconds decompression, for future souls.
>
>
> std::chrono:
> timestamp);
> Do you need the milliseconds anywhere, as I only see you calling .count() on
> this everywhere it's used. Why not just return ulong?
>
> Also, would be good to document *why* you've done the timestamp
> compression/
Done. in the header.
> mirserver/ tracepoints. tp' ach_start ach_end
>
> === modified file 'src/platforms/
> Typos:
> touchEventDispt
> touchEventDispt
> and these propagate throughout the whole of mirserver.
Fixed.