Commit Graph

1873 Commits

Author SHA1 Message Date
Mark Rowe 702b8a31fb Avoid leaking the runloop and source if WeakRealmNotifier is move-assigned. 2016-05-31 21:54:40 -07:00
Mark Rowe 65a748de0c Fix move-assigning to a `Results` that has a notifier to not leak the
`Realm`, and moving from a `Results` to not result in a use-after-free.

The compiler generated move-assignment operator resulted in `m_notifier`
being assigned to without first calling `CollectionNotifier::unregister`.
This left a retain cycle in place, causing the `Realm` and other objects
to leak.

`ResultsNotifier` keeps track of which `Results` it should update when a
new `TableView` becomes available. When `Results` move-assignment
operator and move-constructor transfer ownership of the
`ResultsNotifier` to a new instance they also need to update its target
so it won't attempt to update the moved-from `Results`.
2016-05-31 19:03:29 -07:00
Mark Rowe 7e99634567 Fix building tests in Xcode.
The Xcode project generated by CMake doesn't create the dylib when built
as the dylib target does not contain any source files. Adding an empty
placeholder .cpp file to the target is sufficient to convince Xcode to
produce the dylib.
2016-05-31 17:16:52 -07:00
Mark Rowe 344fc42d4e Avoid copying `Object` unnecessarily. 2016-05-31 15:54:43 -07:00
Mark Rowe efdf0e01a9 Avoid copying `List` unnecessarily. 2016-05-31 15:27:48 -07:00
Scott Kyle 3b9b8cbc75 Remove unused GCov_Build configuration
We've never really used this, so let's remove it until we ever actually need something like this.
2016-05-31 11:30:24 -07:00
Scott Kyle 385fe97861 Make Realm::is_closed() work on read-only instances 2016-05-31 11:27:39 -07:00
Scott Kyle 7bb8a04359 Fix for object store build issues on Android 2016-05-31 11:11:39 -07:00
Scott Kyle 560e725398 Address some issues in WeakRealmNotifier for Node 2016-05-31 10:05:14 -07:00
Yavor Georgiev 91c87e4de6 Implement commit helper and realm notifier for Android (#69)
* Implement commit helper and realm notifier for Android

* Remove non-existent include

* Shut down the current instance when move-assigning

* Only use Android logging when on Android

* Cleanup realm_ptr when it hasn't been sent over the pipe

* Assed that WeakRealmNotifier is closed on the thread it was created on

* Typo

* Fix syntax error

* changes after code review

* Use the proper preprocessor definition for Android

* Pass the correct address to write(2)

* Explicitly handle looper events

* changes after code review

* Do not return after handling ALOOPER_EVENT_HANGUP

* Handle HANGUP after INPUT
2016-05-31 17:15:32 +02:00
Scott Kyle ba6e83191b Merge pull request #460 from realm/sk-react-native-26
Update projects to React Native 0.26.2
2016-05-27 16:33:44 -07:00
Ari Lazier df040c7d99 fix for comment 2016-05-27 16:25:33 -07:00
Ari Lazier 7829cb5f33 fix for comment 2016-05-27 16:25:33 -07:00
Ari Lazier 38c6eb7b6b more pr feedback 2016-05-27 16:03:03 -07:00
Ari Lazier 3e74cd98d5 more pr feedback 2016-05-27 16:03:03 -07:00
Ari Lazier 9fe636b614 pr feedback 2016-05-27 15:50:33 -07:00
Ari Lazier e316b54eff pr feedback 2016-05-27 15:50:33 -07:00
Ari Lazier 9012549c5d object store pr feedback 2016-05-27 15:45:56 -07:00
Ari Lazier ceceeab9a5 object store pr feedback 2016-05-27 15:45:56 -07:00
Scott Kyle b3ec066d12 Merge pull request #451 from realm/sk-test-improvements
Improve JS tests
2016-05-27 13:56:49 -07:00
Scott Kyle d05542c031 Merge branch 'sk-node-notifier'
* sk-node-notifier:
  Create a HandleScope before calling callbacks
  Add a working WeakRealmNotifier for Node
2016-05-27 13:25:50 -07:00
Scott Kyle 8a52cf8ffe Merge branch 'sk-node-notifier'
* sk-node-notifier:
  Create a HandleScope before calling callbacks
  Add a working WeakRealmNotifier for Node
2016-05-27 13:25:50 -07:00
Scott Kyle 4e457526bb Merge branch 'sk-node-xcode'
* sk-node-xcode:
  Consolidate RealmNode.xcodeproj into RealmJS.xcodeproj
2016-05-27 13:20:01 -07:00
Scott Kyle b76ed20020 Update projects to React Native 0.26.2
Fixed some minor issues along the way.
2016-05-27 11:30:17 -07:00
Scott Kyle 5a3997d268 Fix for consecutive calls to clearTestState()
This bug would only happen from Chrome debug mode, where consecutive calls would crash the app because the m_objects iterator would be in a bad state. This method is faster anyways.
2016-05-26 17:58:24 -07:00
Mark Rowe 78c4f30ee9 Merge pull request #57 from realm/nh/update_doc
update doc (install procedure)
2016-05-26 16:09:30 -07:00
Scott Kyle af70bb3c63 Fix all linting issues inside JS tests 2016-05-26 15:47:30 -07:00
Scott Kyle 846e3b976d Update ESLint dependencies 2016-05-26 15:47:30 -07:00
Scott Kyle aa09ba3cd4 Factor out some common code in React tests
Now iOS and Android share more code. Also converted to using ES6 modules imports and fixed some other linting issues.
2016-05-26 15:47:30 -07:00
Scott Kyle 48394d9c19 Automatically handle deleting test Realms
No longer leave this up to the test. All testing passes through the runTest() function, so we use that spot to delete the Realms. It also now deletes them beforehand too since a crash in a previous run could leave a Realm in place.
2016-05-26 15:47:30 -07:00
Scott Kyle 58bff5f939 Remove commented Objective-C query tests 2016-05-26 15:46:53 -07:00
Scott Kyle 78a8311ba6 Merge branch '0.13.x'
* 0.13.x:
  [0.13.2] Bump version
  fix for upgrading optional date properties
2016-05-26 14:36:17 -07:00
Mark Rowe 0976d1839f Merge pull request #49 from realm/mar/static-library
Build both dynamic and static libraries of the object store
2016-05-26 13:57:01 -07:00
Mark Rowe f19bab76bd Build both dynamic and static libraries.
The dynamic library makes it easy to verify that there are no linker
errors when building the object store, while the static library is
easier for a binding to consume.

This also tweaks how the library targets are defined to ensure that
other CMake projects that pull in the libraries automatically get the
right include paths and link to the appropriate libraries.
2016-05-26 13:41:52 -07:00
Scott Kyle 118567ca4e [0.13.2] Bump version 2016-05-26 13:35:29 -07:00
Ari Lazier 027d4fd153 fix for upgrading optional date properties 2016-05-26 13:30:51 -07:00
Scott Kyle 60e97a325e Merge pull request #456 from realm/sk-parser-fix
Improve parsing of string tokens
2016-05-26 13:18:53 -07:00
Scott Kyle 39f0661535 Factor out padding rule for operators 2016-05-26 11:57:43 -07:00
Scott Kyle 1a192240df Factor out padding rule for operators 2016-05-26 11:57:43 -07:00
Scott Kyle d7474cabc6 Improve parsing of string tokens
All of the parsing behavior was confirmed to be compatible with the NSPredicate parser.
2016-05-26 01:04:41 -07:00
Scott Kyle 44576dd285 Improve parsing of string tokens
All of the parsing behavior was confirmed to be compatible with the NSPredicate parser.
2016-05-26 01:04:41 -07:00
Scott Kyle ea4c4fe6f9 Merge branch '0.13.x'
* 0.13.x:
  [0.13.1] Bump version
  Fix crash and other errors with Results snapshots
  fix for negative timestamps
2016-05-24 12:38:32 -07:00
Scott Kyle 47776d9b0a [0.13.1] Bump version 2016-05-24 11:53:10 -07:00
Scott Kyle f8ba388d14 Fix crash and other errors with Results snapshots
When deleteAll() is called on a Realm, it calls clear() on all of its Tables, which seems to not update TableViews unless they are synced. The is_row_attached(row_ndx) method still returns true otherwise. A workaround is here until that is fixed.

Fixes #434
2016-05-24 11:52:02 -07:00
Ari Lazier 9e05728dce fix for negative timestamps 2016-05-24 11:45:16 -07:00
Scott Kyle 7740665d7d Merge pull request #449 from realm/sk-crash-fix
Fix crash and other errors with Results snapshots
2016-05-24 11:02:53 -07:00
Thomas Goyne d4feb7e06a Actually bump the core version 2016-05-24 10:46:44 -07:00
Scott Kyle 20b121c57d Add FIXME referencing core issue 2016-05-24 10:42:17 -07:00
Scott Kyle cb399e54e4 Add FIXME referencing core issue 2016-05-24 10:42:17 -07:00
Ari Lazier ab69a4f910 Merge pull request #454 from realm/al-negative-dates
Fix for negative timestamps
2016-05-24 10:37:30 -07:00