Re: Fix QtWebkit usage with xvfb, unbreaking www/ruby-capybara-webkit

2016-09-23 Thread David Coppa
On Wed, Sep 21, 2016 at 8:30 PM, Jeremy Evans  wrote:
> This backports a patch from Qt 5.6 that fixed a SIGFPE when using Xvfb.
> I've tested this with an updated ruby-capybara-webkit running using Xvfb
> and confirmed that it fixes the issue.
>
> OK?
>
> Thanks,
> Jeremy
>
> Index: Makefile
> ===
> RCS file: /cvs/ports/x11/qt5/Makefile,v
> retrieving revision 1.52
> diff -u -p -r1.52 Makefile
> --- Makefile6 Sep 2016 09:00:19 -   1.52
> +++ Makefile20 Sep 2016 22:40:04 -
> @@ -19,7 +19,7 @@ COMMENT-sqlite2 = SQLite 2.x plugin for
>  COMMENT-tds =  TDS plugin for Qt5
>
>  PKGNAME-main = qt5-${VERSION}
> -REVISION-main =1
> +REVISION-main =2
>  PKGNAME-examples = qt5-examples-${VERSION}
>  REVISION-examples =0
>  PKGNAME-html = qt5-html-${VERSION}
> Index: patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
> ===
> RCS file: patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
> diff -N patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
> --- /dev/null   1 Jan 1970 00:00:00 -
> +++ patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp   20 
> Sep 2016 22:51:57 -
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +Fix SIGFPE when using Xvfb, backported from Qt 5.6
> +(https://codereview.qt-project.org/#/c/140411/).
> +
> +--- qtbase/src/plugins/platforms/xcb/qxcbscreen.cpp.ports.orig Tue Sep 20 
> 15:49:42 2016
>  qtbase/src/plugins/platforms/xcb/qxcbscreen.cppTue Sep 20 15:50:09 
> 2016
> +@@ -544,7 +544,8 @@ void QXcbScreen::updateRefreshRate(xcb_randr_mode_t mo
> + for (; modesIter.rem; xcb_randr_mode_info_next()) {
> + xcb_randr_mode_info_t *modeInfo = modesIter.data;
> + if (modeInfo->id == mode) {
> +-m_refreshRate = modeInfo->dot_clock / (modeInfo->htotal * 
> modeInfo->vtotal);
> ++const uint32_t dotCount = modeInfo->htotal * 
> modeInfo->vtotal;
> ++m_refreshRate = (dotCount != 0) ? modeInfo->dot_clock / 
> dotCount : 0;
> + m_mode = mode;
> + break;
> + }
>

ok dcoppa@

Thanks,
David



Fix QtWebkit usage with xvfb, unbreaking www/ruby-capybara-webkit

2016-09-21 Thread Jeremy Evans
This backports a patch from Qt 5.6 that fixed a SIGFPE when using Xvfb.
I've tested this with an updated ruby-capybara-webkit running using Xvfb
and confirmed that it fixes the issue.

OK?

Thanks,
Jeremy

Index: Makefile
===
RCS file: /cvs/ports/x11/qt5/Makefile,v
retrieving revision 1.52
diff -u -p -r1.52 Makefile
--- Makefile6 Sep 2016 09:00:19 -   1.52
+++ Makefile20 Sep 2016 22:40:04 -
@@ -19,7 +19,7 @@ COMMENT-sqlite2 = SQLite 2.x plugin for 
 COMMENT-tds =  TDS plugin for Qt5
 
 PKGNAME-main = qt5-${VERSION}
-REVISION-main =1
+REVISION-main =2
 PKGNAME-examples = qt5-examples-${VERSION}
 REVISION-examples =0
 PKGNAME-html = qt5-html-${VERSION}
Index: patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
===
RCS file: patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
diff -N patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-qtbase_src_plugins_platforms_xcb_qxcbscreen_cpp   20 Sep 
2016 22:51:57 -
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Fix SIGFPE when using Xvfb, backported from Qt 5.6
+(https://codereview.qt-project.org/#/c/140411/).
+
+--- qtbase/src/plugins/platforms/xcb/qxcbscreen.cpp.ports.orig Tue Sep 20 
15:49:42 2016
 qtbase/src/plugins/platforms/xcb/qxcbscreen.cppTue Sep 20 15:50:09 2016
+@@ -544,7 +544,8 @@ void QXcbScreen::updateRefreshRate(xcb_randr_mode_t mo
+ for (; modesIter.rem; xcb_randr_mode_info_next()) {
+ xcb_randr_mode_info_t *modeInfo = modesIter.data;
+ if (modeInfo->id == mode) {
+-m_refreshRate = modeInfo->dot_clock / (modeInfo->htotal * 
modeInfo->vtotal);
++const uint32_t dotCount = modeInfo->htotal * modeInfo->vtotal;
++m_refreshRate = (dotCount != 0) ? modeInfo->dot_clock / 
dotCount : 0;
+ m_mode = mode;
+ break;
+ }