Bug 26353 - [iOS] Theming discrepancy in ARM64 bit apps
Summary: [iOS] Theming discrepancy in ARM64 bit apps
Status: VERIFIED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: XI 8.6.0
Hardware: PC Mac OS
: Normal normal
Target Milestone: 8.6.x (services rel)
Assignee: Rolf Bjarne Kvinge [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2015-01-23 12:57 UTC by Dominic N [MSFT]
Modified: 2015-02-12 09:06 UTC (History)
7 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Sample project (14.23 KB, application/zip)
2015-01-23 12:57 UTC, Dominic N [MSFT]
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Dominic N [MSFT] 2015-01-23 12:57:40 UTC
Created attachment 9475 [details]
Sample project

## Overview

There has been a report of a theming discrepancy when working with the theming of UI controls. The same code works fine on ARMv7 configurations, but not on ARMv7 + ARM64 configurations. New solution was created as a Unified Universal Single View Application.


## Steps to reproduce

1. Download sample project
2. Open project options
3. Go to "Build -> iOS Build -> Advanced"
4. Set 'Platform' to 'iPhone'
5. Change supported architectures to ARMv7
6. Run app
7. Change supported architectures to ARMv7 + ARM64
8. Run app


## Expected results

Label colours should be the same with both architecture configurations


## Actual results

Label colours are not consistent across architectures
Comment 2 Sebastien Pouliot 2015-01-26 17:22:15 UTC
It looks like the issue is inside `AppearanceWhenContainedIn`, e.g.

		public override void FinishedLaunching (UIApplication application)
		{
			UILabel.Appearance.TextColor = UIColor.Red;
			Console.WriteLine (UILabel.Appearance.TextColor);
			UILabel.AppearanceWhenContainedIn (typeof(UITextField)).TextColor = UIColor.Blue;
			Console.WriteLine (UILabel.Appearance.TextColor);
		}

On ARMv7 (correct)

2015-01-26 17:20:55.882 UiAppearance[24942:9411236] UIColor [A=255, R=255, G=0, B=0]
2015-01-26 17:20:57.029 UiAppearance[24942:9411236] UIColor [A=255, R=255, G=0, B=0]

On ARM64 (reset)

2015-01-26 17:18:58.280 UiAppearance[24927:9410485] UIColor [A=255, R=255, G=0, B=0]
2015-01-26 17:19:00.628 UiAppearance[24927:9410485] UIColor [A=255, R=0, G=0, B=255]
Comment 3 Sebastien Pouliot 2015-01-26 17:41:09 UTC
@Rolf you added some code for this in 4cc46e4b26a083ccf01edb07e034883bf53b4b4c but that does not seems to work for this case. Can you have a look ?
Comment 5 Rolf Bjarne Kvinge [MSFT] 2015-01-28 06:09:18 UTC
Fixed.

maccore/master: 177810cbf57e411baffbdf69638fad8651aa911a
Comment 7 Ram Chandra 2015-01-30 16:03:49 UTC
To verify this issue I have checked this issue with following builds:

Mac OS X 10.10.2
Xamarin Studio:5.8 (build 624)
Installation UUID: 0b7eaebc-a0ed-4b58-81df-91e378cad28c
Mono 3.12.0 ((detached/a813491)
GTK+ 2.24.23 (Raleigh theme)
Package version: 312000068
Xcode 6.1.1 (6611)
Build 6A2008a
Xamarin.iOS : 8.9.1.18 (Starter Edition)
=== Build Information ===
Release ID: 508000624
Git revision: fbedf37530cbbf01a75c4cc95557944aa8996aaa
Build date: 2015-01-30 07:52:28-05
Xamarin addins: cb32b8c2c23d061713c5abe206b8ad07723aa77e

Observations: I have checked this issue with attached project and here is my observations with different configurations.

ARMv7
UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARM64
UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7 + ARM64
UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

This issue has been fixed. Hence I am closing this issue.
Comment 8 Sebastien Pouliot 2015-02-11 17:14:18 UTC
backported for SR2 in 7621f6c7be31bddfe11554504cdac35c65f47dd1
Comment 9 Ram Chandra 2015-02-12 09:05:28 UTC
I have checked this issue with builds:

Xamarin Studio: 5.7.1 (build 17)
Mono 3.12.0 ((detached/de2f33f)
GTK+ 2.24.23 (Raleigh theme)
Package version: 312000076
Xcode 6.1 (6604)
Build 6A1052d
Xamarin.iOS: 8.6.2.8 
Hash: 09ae75f
Branch: 
Build date: 2015-02-11 22:34:42-0500
=== Build Information ===
Release ID: 507010017
Git revision: 0bc7d3550b6b088ac25b08dcf7bbe73bcc8658b3
Build date: 2015-02-03 19:43:29-05
Xamarin addins: f7b7d34419c9ec24501bfa7c658e80a6305613e0


Output:  Here is the output of different supported architecture 

ARMv7

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7s

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7 + ARMv7s

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARM64

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7 + ARM64 

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7s + ARM64 

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

ARMv7 + ARMv7s + ARM64 

UIColor [A=255, R=255, G=0, B=0]
UIColor [A=255, R=255, G=0, B=0]

This fixed has been merged with X.iOS: 8.6.2.8
Comment 10 Ram Chandra 2015-02-12 09:06:16 UTC
This issue has been merged with X.iOS: 8.6.2.8. Hence I am closing this issue.