Xamarin.forms: GTK: Regression: clicking on a button doesn't work (it worked in 3.2.0.871581, regressed in 3.3.0.912540)

Created on 12 Dec 2018  路  8Comments  路  Source: xamarin/Xamarin.Forms

Description

Clicking on a button doesn't work anymore with the GTK driver.
Last version without the bug that I could test: 3.0.0.561731 (I haven't been able to test later versions because the first 3.1 version in nuget doesn't work with .NET 4.6.x). First version with the bug that I could test: 3.4.0.1008975 (the previous versions 3.3.x don't work with .NET 4.6.x so I cannot bisect properly).

Steps to Reproduce

  1. clone project https://gitlab.com/DiginexGlobal/geewallet
  2. checkout commit fae275cac704bc64cbea95e098f4ec5a41813c23
  3. run the GTK frontend (e.g. you can get the binaries from this CI build: https://gitlab.com/DiginexGlobal/geewallet/-/jobs/130596463), tested with Ubuntu 18.04
  4. a dialog will appear: fill all the text entries, and the button should become enabled
  5. click on the button "Create accounts"

Expected Behavior

The button should become disabled and after some seconds it should go to the next page. (Like it happens with other frontends, or with XamarinForms 3.0 instead of 3.4)

Actual Behavior

Nothing happens.

Basic Information

  • Version with issue:Version with issue: 3.4.0.1008975
  • IDE: VS4Mac
  • Platform Target Frameworks:
  • Android: 9.1 I believe
  • Android Support Library Version: package id="Xamarin.Android.Support.v4" version="27.0.2.1" targetFramework="monoandroid81"
  • Nuget Packages: 3.4.0.1008975
  • Affected Devices: GTK
regression gtk bug

Most helpful comment

Ooops, I think we have 2-3 Issues in GTK Backend from recent versions related to incorrect visibility or loss of interaction (may be related). I will review the latest PRs in the GTK backend to try to help to find the problem.

All 8 comments

NOTE: By some quick investigation, I have the impression that this PR is the one that created the regression: https://github.com/xamarin/Xamarin.Forms/pull/1974 (because it's the only change in ButtonRenderer.cs that is not present in tagged version 3.0), by @PureWeen. See: https://github.com/xamarin/Xamarin.Forms/commits/master/Xamarin.Forms.Platform.GTK/Renderers/ButtonRenderer.cs

Hmm maybe
That PR just changed the names so as not to conflict with the new ImageButton control

I don't see any functional changes to gtk there though

Ooops, I think we have 2-3 Issues in GTK Backend from recent versions related to incorrect visibility or loss of interaction (may be related). I will review the latest PRs in the GTK backend to try to help to find the problem.

I don't see any functional changes to gtk there though

Mmm that's true! so maybe that PR/commit isn't the culprit. BTW I was looking at ButtonRenderer's history because between version 3.0 and 3.4 I also see that buttons have different appearance. So I thought that maybe some fundamental change over how buttons are rendered also caused this regression.

I will review the latest PRs in the GTK backend to try to help to find the problem.

Thanks Javier. BTW today I even managed to build with version 3.3.0.967583 (instead of 3.4.x), to try to bisect it further, and surprisingly this version doesn't even render the text of the button correctly. It's like if the button had a 0-width (even if non-zero height), so obviously I cannot click on it either. Will try to keep bisecting.

Ok, just tested with v.3.2.0.871581 (even if it doesn't let me build with this version, but moved binaries by hand) and the bug is not there. With v3.3.0.912540 the build even works, but the bug is there! So this regression happened between versions 3.2.0.871581 and 3.3.0.912540. Hope this helps identify the issue!

So this regression happened between versions 3.2.0.871581 and 3.3.0.912540.

I just saw that there were also pre-releases in between those two versions so I continued bisecting. The bug happened between 3.2.0.871581 and 3.3.0.840541-pre1 (the first 3.3.x prerelease).

The bug happened between 3.2.0.871581 and 3.3.0.840541-pre1 (the first 3.3.x prerelease).

Hey folks, is there a way to map nuget versions to git commit hashes?

Hey! I've worked with @knocte on bisecting the bug and I think I've found the commit that caused the issue https://github.com/xamarin/Xamarin.Forms/commit/72c8d72d0c5163b7d3187e886eefd41e6e3571e6. I haven't found a solution yet but reverting it causes that a button has a correct width assigned. Showing a navigation bar also helps but it's not an option in our case. @jsuarezruiz @PureWeen do you have any idea how to tackle that?

Was this page helpful?
0 / 5 - 0 ratings