Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


I integrated the layouting fix for iOS 4.2 #44

wants to merge 2 commits into from

2 participants

Alexander Lippling Matej Bukovinski
Alexander Lippling

No description provided.

Alexander Li... added some commits
Matej Bukovinski

What kind of issues were you seeing here?

It was a workaround for a compiler bug (see: with armv6 architecture.


Interesting. And this fixed it? Was only the origin corrupted? What about all other CGrect/CGSize returning calls? Those weren't affected by this bug?

It's a problem with calls that return CGRect/CGSize. There are probably more issues because of that. One solution is to disable thumb compiling for armv6 (use this flag: -mno-thumb - for additional information see the blog post above).

Matej Bukovinski matej closed this
Matej Bukovinski

Apparently fixed with Xcode 4.3 and the new LLVM, so I'm closing this for now. The memory issue has also already been addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Feb 2, 2012
  1. Fixed iOS 4.2 layout issue

    Alexander Lippling authored
  2. Fixed memory management issue

    Alexander Lippling authored
This page is out of date. Refresh to see the latest.
Showing with 3 additions and 1 deletion.
  1. +3 −1 MBProgressHUD.m
4 MBProgressHUD.m
@@ -322,6 +322,7 @@ - (id)initWithFrame:(CGRect)frame {
#if !__has_feature(objc_arc)
- (void)dealloc {
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
[indicator release];
[label release];
[detailsLabel release];
@@ -342,7 +343,8 @@ - (void)layoutSubviews {
CGRect frame = self.bounds;
// Compute HUD dimensions based on indicator size (add margin to HUD border)
- CGRect indFrame = indicator.bounds;
+ CGRect indFrame = CGRectZero; // CGRect indFrame = indicator.bounds; <- This line caused issues on armv6 architecture / Release mode, with iOS SDK 5.0 and LLVM 3.0 compiler
+ indFrame.size = indicator.bounds.size;
self.width = indFrame.size.width + 2 * margin;
self.height = indFrame.size.height + 2 * margin;
Something went wrong with that request. Please try again.