yeewang / gdata-objectivec-client

Automatically exported from code.google.com/p/gdata-objectivec-client
Other
0 stars 0 forks source link

GDataQuery queryWithFeedURL returning broken results beyond setMaxResults value #157

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. GDataQuery *query = [GDataQuery queryWithFeedURL:feedURL];

2. [query setMaxResults:50];

3. [service fetchFeedWithQuery:query etc...]

4. enter the callback with finishedWithFeed:(GDataFeedBase *)feed

5. for(GDataEntryBase *entry in feed) NSLog(@"%@", [entry description]);

What is the expected output? What do you see instead?

I would expect to see all entries' description logged in the console (this 
still works fine on the simulator with an older version of the static lib - 
circa iOS 3.2)

Instead this will crash after trying to NSLog the entry number "whatever I set 
the setMaxResults to on the query" (in this case 50 - all entries before are 
being logged just fine).

What version of the product are you using? On what operating system?

Checked out the latest sources last night from SVN. Working on iOS (base SDK 
6.0, deploying to 5.0).

Please provide any additional information below.

I am updating a relatively old app which used the GData library to display some 
info about the videos on a specific YouTube channel. The app used to work great 
in iOS 3.2, using an old version of the GData static lib. However I couldn't 
link with the old lib anymore (built for old architecture) so I checked out the 
latest GData sources and compiled a new static library.

At first the app seems to work fine (I still get a feed back and can parse for 
the info I need, play the videos etc).

However upon closer inspection the following is happening: I get a feed back 
with a [feed entries] array with 168 items (it will say in the console 
something like "Fetching GDataFeedBase required following 3 "next" links; use a 
query with a larger setMaxResults: for faster feed accumulation"). Trying to 
access anything beyond result 50 will result in EXC_BAD_ACCESS ...

I should point out that the exact same code runs just fine in the simulator 
with the old version of the GData library, so I'm guessing something must have 
changed between the libs, unless I did something wrong compiling the new 
library, but right now I can't really figure out what and am sort of short on 
time ... Any ideas :) ?

Original issue reported on code.google.com by noatuli2...@gmail.com on 11 Dec 2012 at 8:15