summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Emit ScreenChanged events on X11Allan Sandfeld Jensen2014-02-061-0/+10
| | | | | | | | | | | | | We do not currently emit screenchanged events when a window is moved to another screen on X11. This patch emits the event when a window no longer intersects with its current screen, and switches to the first intersecting screen. Change-Id: Ie40d6eb67b85bd961eeb348bc43e4f308ee22dba Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
* Clean up QXCBSessionManagerSamuel Gaist2014-02-032-25/+2
| | | | | | | | | Removed useless overrides and inline simple functions. Change-Id: I69df0ec8446fe2c8bb904c7d4d9cc2e1d269533b Reviewed-by: Teo Mrnjavac <teo@kde.org> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Silence failed xcbxsettings initializationJorgen Lind2014-01-233-3/+11
| | | | | | | | also add a boolean flag indicating if xsettings is initialized and can be used Change-Id: I9dae83b8fef224171744d2b940767cbf54ce4f55 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* xcb: Do not leak when compressing eventsLaszlo Agocs2014-01-201-2/+1
| | | | | | | | | The event must be freed in all cases, also when a motion or configure notify is skipped. Change-Id: Ie55e62d0c3ab25bd9b20cc85098ea337d0b1ac5d Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Make xcb QPA plugin link on FreeBSDGabriel de Dietrich2014-01-201-1/+1
| | | | | | | | dlopen, etc. are defined in libc on FreeBSD. Change-Id: Iad47113ec77029f8e300e4f08f454d70b3070b5a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-132-50/+50
| | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-101-1/+5
|\ | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * Fix bug on X11 with WA_TranslucentBackground and native child windows.Gatis Paeglis2014-01-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native child windows need to inherit the parent's visual in order to have a translucent background as well. Surface with type QSurface::OpenGLSurface should not be forced to use the parent window's visual - the parent visual for instance, might not even be GL capable. Changing WA_TranslucentBackground during runtime is not supported, for two reasons: 1) Other platform plugins seem not to support it 2) It would require recreating X windows. Task-number: QTBUG-29625 Change-Id: Ic1474dd2de99069027481c7db6bf865f9b8d616d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Use XInput2 scrolling events to enable smoother scrollingAllan Sandfeld Jensen2014-01-094-28/+164
| | | | | | | | | | | | | | | | | | | | | | With this patch all wheel events will be generated by XInput2 where available. This enables higher precision and smoother scrolling especially from input devices such as touchpads on laptops. [ChangeLog][Platform Specific Changes][X11 / XCB]Support XInput2 smooth scrolling events Change-Id: I3b069ed92ad5c53e08af64baaece32de82e9b5c4 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-062-0/+18
|\| | | | | | | Change-Id: I0b021b369725b73f09faa14b9da9e2431dc24fad
| * XCB: Fix pixmap leakUli Schlachter2014-01-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | In qt_xcb_XPixmapFromBitmap(), a new pixmap is generated for the caller. This pixmap has to be freed after use. However, createNonStandardCursor() didn't do this and instead leaked the pixmap. Change-Id: I6fee180ec6508db9e82a5bb028957e7d9f7a4632 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Avoid duplicate emulated mouse events with XInput2Allan Sandfeld Jensen2014-01-031-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | When using a touch screen on a Linux machine, we receive both touch-events and emulated mouse events from XInput, on top of that we synthesize mouse- events ourselves for the touch events. This patch grabs the touch device for touch events whenever it processes a touch-begin thereby avoiding XInput from synthesizing mouse events. Task-number: QTBUG-35157 Change-Id: I5849d5841be236d6719cd080af2e9e39eb9cdd84 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | xcb: Remove useless flushesUli Schlachter2014-01-062-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling xcb_flush() right before QXcbConnection::sync() is pointless. The flush sends all requests that were already queued to the server and the call to sync() then just sends another request, flushes it and waits for its reply. Having just sync() implicitly flush for us means less overhead and has the same effect. Another useless flush is in QXcbShmImage::put(). The only caller is QXcbBackingStore::flush() and this calls put() in a loop. If we just call xcb_flush() from flush(), then xcb can send more requests in a single write() call again. Finally, calling Q_XCB_NOOP() twice in a row without doing any interaction with xcb in between doesn't help much, so remove one of the two calls from QXcbShmImage::put() Change-Id: Ia3d6945b8d961e2844fc3e31fdf8189c47b534d1 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-034-50/+65
|\| | | | | | | Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
| * xcb platform: Fix build when both EGL and xcb-Xlib are usedAndrew Knight2013-12-311-2/+6
| | | | | | | | | | | | | | | | Fix a multiple define when Qt is configured to use both EGL and xcb-Xlib. Change-Id: I6fdb282f575842711b3b5d377bbdf3bc9909bf0c Reviewed-by: Christoph Cullmann <cullmann@kde.org> Reviewed-by: David Faure <david.faure@kdab.com>
| * fix compile of qt without egl availableChristoph Cullmann2013-12-301-1/+1
| | | | | | | | | | | | | | | | move the dpy to the place where it is used inside the egl ifdef guard fixes compilation on old distros not having egl Change-Id: I7eebe5305f3a584c0c5da2ea7b9099fdd994249d Reviewed-by: David Faure <david.faure@kdab.com>
| * xcb: added env variables to show input devices and eventsShawn Rutledge2013-12-303-45/+56
| | | | | | | | | | | | | | | | | | | | export QT_XCB_DEBUG_XINPUT_DEVICES=anything to show detected input devices at startup export QT_XCB_DEBUG_XINPUT=anything to log mouse, touch and tablet events Change-Id: Id14844b68ad376740f82a36aab2c59c84d2017ab Task-number: QTBUG-35583 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * XCB: Don't recalculate the DPI if we have a forced DPI settingThiago Macieira2013-12-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | logicalDpi() already has the logic to check m_forcedDpi, so let's reuse it. I hope it's not a problem that we send a signal that it changed when nothing changed. [ChangeLog][Platform Specific Changes][X11 / XCB]Fixed a bug that caused Qt applications to think the screen DPI had changed when it had not, after connecting or disconnecting monitors. Task-number: QTBUG-32683 Change-Id: I45dd27de5109e65e7599915f11cfdb633a65a67c Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-231-1/+1
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| | * Revert "Move the glxfbconfig configtest to qpa and rename it to glx"Thiago Macieira2013-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a2d3b7c99165cb5c4be6f0dd83a967e1119cf732. That commit broke -opengl es2 builds on Linux desktops (when GLX is available). /usr/include/GL/gl.h:162:17: error: conflicting declaration ‘typedef double GLdouble’ qopengl.h:97:17: error: ‘GLdouble’ has a previous declaration as ‘typedef GLfloat GLdouble’ Change-Id: Id5f48c05803be1a8c03eeffca139b80e9a85a0eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Remove .values() call in foreachAlbert Astals Cid2013-12-161-1/+1
|/ / | | | | | | | | | | | | | | foreach already knows how to iterate over the values without the need to create an intermediate qlist Change-Id: Icf6bacc3472e09fde6fe3735086cea289ca0fa96 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-052-8/+9
|\| | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * xcb qpa: initialize EGL for non-XLib buildsAndrew Knight2013-12-031-7/+8
| | | | | | | | | | | | | | | | Move the EGL initialization code outside of the XLib ifdefs, so it can be enabled for non-XLib builds as well Change-Id: Ie025551e4e99bb0b365f025356bd9725f4283b82 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Use case insensitive comparison when checking platform plugin keys.Friedemann Kleint2013-12-031-1/+1
| | | | | | | | | | | | Change-Id: Iff44698dcc941ca244b476f0e6c6a993f2ad75f3 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-293-13/+11
|\| | | | | | | Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
| * Move the glxfbconfig configtest to qpa and rename it to glxJorgen Lind2013-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | We require glx version 1.3 which is where fbconfig is first defined. Also make use of the configure test and report the glx status. GLX support should always take precedence when compiling the xcb backend Change-Id: Ie46834210bf5cd2ac4006ff08379e0d3434ffa2b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add new configure parameter for Xcb-XlibAndrew Knight2013-11-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new configuration parameter, xcb-xlib, which allows overriding the configure test for that existing configuration option. The use of xcb-xlib in the xcb platform plugin becomes the preferred path for non-OpenGL ES 2 builds, while the EGL codepath is used otherwise. This has the advantage that EGL can be used with Desktop OpenGL if Qt is configured with -no-xcb-xlib. Change-Id: I5018e31fe0399b94f020c671eff9414d00431c44 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Remove stale xcb_dri2 code in QXcbNativeInterfaceJorgen Lind2013-11-282-3/+1
| | | | | | | | | | Change-Id: Ifc8dc8d84fc60b70f8a49282dfe32cd248bef9ba Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Return the xcb_screen_t and not the QPlatformScreenJorgen Lind2013-11-271-1/+1
| | | | | | | | | | | | | | | | | | from QXcbNativeInterface. The QPlatformScreen is available from QScreen::handle() Change-Id: If81daf34c07f4a49c85c43d3755d1a9167626d6d Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-268-15/+143
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-262-9/+38
| |\ | | | | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| | * Disable threaded GL for nouveau drivers.Gunnar Sletta2013-11-221-6/+19
| | | | | | | | | | | | | | | | | | | | | Task-number: QTCREATORBUG-10875 Change-Id: I25f3abc6ef15bba78fa9ec27de2c1e5e0bcc7fae Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| | * Workaround source compatibility issue introduced by xcb 1.9.3Gatis Paeglis2013-11-201-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous version of the struct: typedef struct { uint8_t response_type; /**< Type of the response */ uint8_t pad0; /**< Padding */ uint16_t sequence; /**< Sequence number */ uint32_t length; uint16_t event_type; uint16_t pad1; uint32_t pad[5]; /**< Padding */ uint32_t full_sequence; /**< full sequence */ } xcb_ge_event_t; New version of it: typedef struct xcb_ge_event_t { uint8_t response_type; /**< */ uint8_t extension; /**< */ uint16_t sequence; /**< */ uint32_t length; /**< */ uint16_t event_type; /**< */ uint8_t pad0[22]; /**< */ uint32_t full_sequence; /**< */ } xcb_ge_event_t; Changes are: - "pad0" became "extension" - "pad1" and "pad" became "pad0" More details in https://bugs.freedesktop.org/show_bug.cgi?id=71502 Task-number: QTBUG-34748 Change-Id: Ibd801c11510f75fa82d5c14346b95236142487ac Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-11-201-3/+24
| |\| | | | | | | | | | refs/staging/stable
| | * Avoid using GLX pbuffers on fglrxLaszlo Agocs2013-11-141-3/+16
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-34427 Change-Id: Ief4fe2fe2ab099d4ec61b6bfb2272724dfb2a800 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * Remove side effects of QGLXContext::queryDummyContext()Sean Harmer2013-11-141-0/+8
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-34782 Change-Id: I411c89238b3002a118b1750af0157ccff5c78712 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | XCB: do not assume that sizeof(long)==4Alberto Mardegan2013-11-192-8/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | The code was using the "long" type when a 32 bit type was actually needed. This can cause bugs in those systems where "long" is 64 bits wide, such as Linux x86-64 (which is LP64). Task-number: QTBUG-34861 Change-Id: Iab289b2af3847dd62d8b4ecea51896936ca4c7a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Disable threaded rendering for Intel HD 3000 cards.Gunnar Sletta2013-11-061-4/+18
| | | | | | | | | | | | Task-number: QTBUG-34492 Change-Id: I1848cde3fb9517679fd54a7170ed5bee40880edc Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * xcb: Compilefix #ifdef glx codeJørgen Lind2013-10-301-0/+4
| | | | | | | | | | Change-Id: I4204cab76b2621318dda909d24ceb2abab6e0ba3 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * xcb: Act on the _NET_ACTIVE_WINDOW eventJørgen Lind2013-10-301-3/+6
| | | | | | | | | | | | | | | | | | | | It happens that we don't get a focus inn event for top level windows when focus goes from a window mapped. But we do get a _NET_ACTIVE_WINDOW event. Task-number: QTBUG-34426 Change-Id: Id1d9eb708a968e0e8934e56dec19abe2dd203bc7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Silence the _COMPIZ_DECOR_* warnings on UbuntuJørgen Lind2013-10-303-1/+12
| | | | | | | | | | | | | | | | | | Earliest occurrence is to my knowledge in 12.04. It is still unclear how to act on those messages Change-Id: I7da48281c6bec973448a1d4cd800d445a80695a2 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Add QGuiApplication::sync() functionJørgen Lind2013-10-302-0/+9
| | | | | | | | | | | | | | | | | | This will allow applications to make sure Qt has the same state as the window system at any given point. The use of this function is discouraged but it is very useful for auto tests. Change-Id: I691bff365fc391e9d7213f2607008983505bb774 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| * Don't support threaded GL on chromium (virtual box GL)Gunnar Sletta2013-10-293-1/+39
| | | | | | | | | | Change-Id: I84f89450e3fce1cbbafd19dbf4509b1911e06b19 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | xcb: Only create listener window when neededUli Schlachter2013-11-152-24/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xcb QPA plugin uses a separate thread for getting events from the X11 server in a race-free manner. This thread has to be stopped when shutting down. This is done by causing the X11 server to send a special event that causes the thread to exit when it sees it. (Also, the thread exits if the xcb connection goes into an error state, but that does not matter here) So this event listener window is only needed when Qt is sending events to itself. This means that it does not have to be kept around and instead can be created only when needed. Since this window does not stay around for long, it does not need a name. However, it does need the list of screens to find the correct root window, so destroy screens later. Change-Id: Ib4104cbc3f372fa5d1391bcf5a633a158409862f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Add swapInterval to QSurfaceFormatLaszlo Agocs2013-11-133-4/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement swap interval support for EGL, GLX and WGL. The environment variable QT_QPA_EGLFS_SWAPINTERVAL is renamed to QT_QPA_EGL_SWAPINTERVAL and can be used to override the applications' setting of the swap interval. Task-number: QTBUG-31939 Change-Id: I644325d5d3306b7604bffd7efccda3c00ed37d36 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-243-2/+3
|\| | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Fix crash in QXcbDrag.Friedemann Kleint2013-10-231-1/+1
| | | | | | | | | | | | | | | | | | handleStatus() was called with drag==0 when releasing the mouse over the desktop. Task-number: QTBUG-33920 Change-Id: I553647d1e734934b7c6caf4c984683cff88f9162 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fix compilation with Clang and libc++ under LinuxMarcel Krems2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | src/plugins/platforms/xcb/qxcbsessionmanager.cpp:205:80: error: use of undeclared identifier 'ERANGE' while (getpwuid_r(geteuid(), &entry, buf.data(), buf.size(), &entryPtr) == ERANGE) { src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:173:28: error: use of undeclared identifier 'LC_CTYPE' char *name = setlocale(LC_CTYPE, (char *)0); Change-Id: Ide6f3072e9158eef412973ce0a72babb41b695f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * set the title of the user time window not the application windowShawn Rutledge2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | 51c28cad67077500f63dbe8c0060ed19cf340c0d resulted in setting the title of the wrong window. Task-number: QTBUG-34048 Change-Id: Ia22d563e0ba9b0e074ef79ae5169c1627369c70d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>