diff --git a/Mac/AppImages.swift b/Mac/AppAssets.swift similarity index 84% rename from Mac/AppImages.swift rename to Mac/AppAssets.swift index f48b8bec4..86503c6eb 100644 --- a/Mac/AppImages.swift +++ b/Mac/AppAssets.swift @@ -1,5 +1,5 @@ // -// AppImages.swift +// AppAssets.swift // NetNewsWire // // Created by Brent Simmons on 2/17/18. @@ -14,7 +14,7 @@ extension NSImage.Name { static let timelineStar = NSImage.Name("timelineStar") } -struct AppImages { +struct AppAssets { static var genericFeedImage: RSImage? = { let path = "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BookmarkIcon.icns" @@ -34,4 +34,8 @@ struct AppImages { return RSImage(named: "accountFeedbin") }() + static var faviconTemplateImage: RSImage = { + return RSImage(named: "faviconTemplateImage")! + }() + } diff --git a/Mac/Inspector/FeedInspectorViewController.swift b/Mac/Inspector/FeedInspectorViewController.swift index 64bd3d9e7..394dddd8c 100644 --- a/Mac/Inspector/FeedInspectorViewController.swift +++ b/Mac/Inspector/FeedInspectorViewController.swift @@ -110,7 +110,7 @@ private extension FeedInspectorViewController { return } - imageView?.image = AppImages.genericFeedImage + imageView?.image = AppAssets.genericFeedImage } func updateName() { diff --git a/Mac/MainWindow/SharingServicePickerDelegate.swift b/Mac/MainWindow/SharingServicePickerDelegate.swift index 06f53ed74..0611aeb63 100644 --- a/Mac/MainWindow/SharingServicePickerDelegate.swift +++ b/Mac/MainWindow/SharingServicePickerDelegate.swift @@ -42,7 +42,7 @@ import RSCore return nil } - let image = sendToCommand.image ?? AppImages.genericFeedImage ?? NSImage() + let image = sendToCommand.image ?? AppAssets.genericFeedImage ?? NSImage() return NSSharingService(title: sendToCommand.title, image: image, alternateImage: nil) { sendToCommand.sendObject(object, selectedText: nil) } diff --git a/Mac/MainWindow/Sidebar/Cell/SidebarCell.swift b/Mac/MainWindow/Sidebar/Cell/SidebarCell.swift index 2a36ba0fb..3df7366e6 100644 --- a/Mac/MainWindow/Sidebar/Cell/SidebarCell.swift +++ b/Mac/MainWindow/Sidebar/Cell/SidebarCell.swift @@ -81,7 +81,7 @@ class SidebarCell : NSTableCellView { }() private let faviconImageView: NSImageView = { - let image = AppImages.genericFeedImage + let image = AppAssets.genericFeedImage let imageView = image != nil ? NSImageView(image: image!) : NSImageView(frame: NSRect.zero) imageView.animates = false imageView.imageAlignment = .alignCenter diff --git a/Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift b/Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift index 1f62993d6..ea4dcadee 100644 --- a/Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift +++ b/Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift @@ -19,14 +19,14 @@ class TimelineTableCellView: NSTableCellView { private let feedNameView = TimelineTableCellView.singleLineTextField() private lazy var avatarImageView: NSImageView = { - let imageView = TimelineTableCellView.imageView(with: AppImages.genericFeedImage, scaling: .scaleNone) + let imageView = TimelineTableCellView.imageView(with: AppAssets.genericFeedImage, scaling: .scaleNone) imageView.imageAlignment = .alignTop imageView.imageScaling = .scaleProportionallyDown imageView.wantsLayer = true return imageView }() - private let starView = TimelineTableCellView.imageView(with: AppImages.timelineStar, scaling: .scaleNone) + private let starView = TimelineTableCellView.imageView(with: AppAssets.timelineStar, scaling: .scaleNone) private lazy var textFields = { return [self.dateView, self.feedNameView, self.titleView, self.summaryView, self.textView] diff --git a/Mac/MainWindow/Timeline/TimelineViewController.swift b/Mac/MainWindow/Timeline/TimelineViewController.swift index b0b1c5797..0bfec37f8 100644 --- a/Mac/MainWindow/Timeline/TimelineViewController.swift +++ b/Mac/MainWindow/Timeline/TimelineViewController.swift @@ -702,10 +702,7 @@ extension TimelineViewController: NSTableViewDelegate { private func configureTimelineCell(_ cell: TimelineTableCellView, article: Article) { cell.objectValue = article - var avatar = avatarFor(article) - if avatar == nil, let feed = article.feed { - avatar = appDelegate.faviconDownloader.favicon(for: feed) - } + let avatar = avatarFor(article) let featuredImage = featuredImageFor(article) cell.cellData = TimelineCellData(article: article, showFeedName: showFeedNames, feedName: article.feed?.nameForDisplay, avatar: avatar, showAvatar: showAvatars, featuredImage: featuredImage) @@ -715,6 +712,7 @@ extension TimelineViewController: NSTableViewDelegate { if !showAvatars { return nil } + if let authors = article.authors { for author in authors { if let image = avatarForAuthor(author) { @@ -727,7 +725,15 @@ extension TimelineViewController: NSTableViewDelegate { return nil } - return appDelegate.feedIconDownloader.icon(for: feed) + if let feedIcon = appDelegate.feedIconDownloader.icon(for: feed) { + return feedIcon + } + + if let favicon = appDelegate.faviconDownloader.favicon(for: feed) { + return favicon + } + + return FaviconGenerator.favicon(feed) } private func avatarForAuthor(_ author: Author) -> NSImage? { diff --git a/Mac/Preferences/Accounts/AccountsAddViewController.swift b/Mac/Preferences/Accounts/AccountsAddViewController.swift index a77a4bdd3..6c3a4158f 100644 --- a/Mac/Preferences/Accounts/AccountsAddViewController.swift +++ b/Mac/Preferences/Accounts/AccountsAddViewController.swift @@ -59,10 +59,10 @@ extension AccountsAddViewController: NSTableViewDelegate { switch row { case 0: cell.accountNameLabel?.stringValue = Account.defaultLocalAccountName - cell.accountImageView?.image = AppImages.accountLocal + cell.accountImageView?.image = AppAssets.accountLocal case 1: cell.accountNameLabel?.stringValue = NSLocalizedString("Feedbin", comment: "Feedbin") - cell.accountImageView?.image = AppImages.accountFeedbin + cell.accountImageView?.image = AppAssets.accountFeedbin default: break } diff --git a/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift b/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift index 53f86e211..8cf4cde31 100644 --- a/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift +++ b/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift @@ -100,7 +100,7 @@ extension AccountsPreferencesViewController: NSTableViewDelegate { cell.textField?.stringValue = account.nameForDisplay switch account.type { case .onMyMac: - cell.imageView?.image = AppImages.accountLocal + cell.imageView?.image = AppAssets.accountLocal case .feedbin: cell.imageView?.image = NSImage(named: "accountFeedbin") default: diff --git a/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/Contents.json b/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/Contents.json new file mode 100644 index 000000000..22efb41ab --- /dev/null +++ b/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "faviconTemplateImage.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" + } +} \ No newline at end of file diff --git a/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/faviconTemplateImage.pdf b/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/faviconTemplateImage.pdf new file mode 100644 index 000000000..d6bcb5b69 Binary files /dev/null and b/Mac/Resources/Assets.xcassets/faviconTemplateImage.imageset/faviconTemplateImage.pdf differ diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index bc971f13e..6f8387122 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -29,6 +29,7 @@ 51543685228F6753005E1CDF /* DetailAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51543684228F6753005E1CDF /* DetailAccountViewController.swift */; }; 515436882291D75D005E1CDF /* AddLocalAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 515436872291D75D005E1CDF /* AddLocalAccountViewController.swift */; }; 5154368A2291FED9005E1CDF /* FeedbinAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 515436892291FED9005E1CDF /* FeedbinAccountViewController.swift */; }; + 5154368B229404D1005E1CDF /* FaviconGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F76227716200050506E /* FaviconGenerator.swift */; }; 51554C24228B71910055115A /* SyncDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51554C01228B6EB50055115A /* SyncDatabase.framework */; }; 51554C25228B71910055115A /* SyncDatabase.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 51554C01228B6EB50055115A /* SyncDatabase.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 51554C30228B71A10055115A /* SyncDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51554C01228B6EB50055115A /* SyncDatabase.framework */; }; @@ -70,7 +71,6 @@ 51C45258226508CF00C03939 /* AppAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C45254226507D200C03939 /* AppAssets.swift */; }; 51C45259226508D300C03939 /* AppDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C45255226507D200C03939 /* AppDefaults.swift */; }; 51C4525A226508D600C03939 /* UIStoryboard-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C4524E226506F400C03939 /* UIStoryboard-Extensions.swift */; }; - 51C4525B226508DA00C03939 /* UIImage-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C4524F226506F400C03939 /* UIImage-Extensions.swift */; }; 51C4525C226508DF00C03939 /* String-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C45250226506F400C03939 /* String-Extensions.swift */; }; 51C45268226508F600C03939 /* MasterFeedUnreadCountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C45261226508F600C03939 /* MasterFeedUnreadCountView.swift */; }; 51C45269226508F600C03939 /* MasterFeedTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C45262226508F600C03939 /* MasterFeedTableViewCell.swift */; }; @@ -224,7 +224,7 @@ 849A979F1ED9F130007D329B /* SidebarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A979E1ED9F130007D329B /* SidebarCell.swift */; }; 849A97A31ED9F180007D329B /* FolderTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97A11ED9F180007D329B /* FolderTreeControllerDelegate.swift */; }; 849C64681ED37A5D003D8FC0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 849C64671ED37A5D003D8FC0 /* Assets.xcassets */; }; - 849EE70F203919360082A1EA /* AppImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849EE70E203919360082A1EA /* AppImages.swift */; }; + 849EE70F203919360082A1EA /* AppAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849EE70E203919360082A1EA /* AppAssets.swift */; }; 849EE72120391F560082A1EA /* SharingServicePickerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849EE72020391F560082A1EA /* SharingServicePickerDelegate.swift */; }; 84A14FF320048CA70046AD9A /* SendToMicroBlogCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84A14FF220048CA70046AD9A /* SendToMicroBlogCommand.swift */; }; 84A1500520048DDF0046AD9A /* SendToMarsEditCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84A1500420048DDF0046AD9A /* SendToMarsEditCommand.swift */; }; @@ -691,7 +691,6 @@ 5183CCEE227125970010922C /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; 519B8D322143397200FA689C /* SharingServiceDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingServiceDelegate.swift; sourceTree = ""; }; 51C4524E226506F400C03939 /* UIStoryboard-Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStoryboard-Extensions.swift"; sourceTree = ""; }; - 51C4524F226506F400C03939 /* UIImage-Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage-Extensions.swift"; sourceTree = ""; }; 51C45250226506F400C03939 /* String-Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String-Extensions.swift"; sourceTree = ""; }; 51C45254226507D200C03939 /* AppAssets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppAssets.swift; sourceTree = ""; }; 51C45255226507D200C03939 /* AppDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDefaults.swift; sourceTree = ""; }; @@ -830,7 +829,7 @@ 849C64601ED37A5D003D8FC0 /* NetNewsWire.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NetNewsWire.app; sourceTree = BUILT_PRODUCTS_DIR; }; 849C64671ED37A5D003D8FC0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 849C64711ED37A5D003D8FC0 /* NetNewsWireTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetNewsWireTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 849EE70E203919360082A1EA /* AppImages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppImages.swift; sourceTree = ""; }; + 849EE70E203919360082A1EA /* AppAssets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAssets.swift; sourceTree = ""; }; 849EE72020391F560082A1EA /* SharingServicePickerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingServicePickerDelegate.swift; sourceTree = ""; }; 84A14FF220048CA70046AD9A /* SendToMicroBlogCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendToMicroBlogCommand.swift; sourceTree = ""; }; 84A1500420048DDF0046AD9A /* SendToMarsEditCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendToMarsEditCommand.swift; sourceTree = ""; }; @@ -1064,7 +1063,6 @@ 51C45250226506F400C03939 /* String-Extensions.swift */, 51F85BF82274AA7B00C787DC /* UIBarButtonItem-Extensions.swift */, 51F85BF622749FA100C787DC /* UIFont-Extensions.swift */, - 51C4524F226506F400C03939 /* UIImage-Extensions.swift */, 51C4524E226506F400C03939 /* UIStoryboard-Extensions.swift */, 512E092B2268B25500BDCFDD /* UISplitViewController-Extensions.swift */, ); @@ -1550,7 +1548,7 @@ 848363062262A3DD00DA1D35 /* Main.storyboard */, 84C9FC6622629B3900D921D6 /* AppDelegate.swift */, 84E46C7C1F75EF7B005ECFB3 /* AppDefaults.swift */, - 849EE70E203919360082A1EA /* AppImages.swift */, + 849EE70E203919360082A1EA /* AppAssets.swift */, 842E45DC1ED8C54B000A8B52 /* Browser.swift */, 842E45E11ED8C681000A8B52 /* MainWindow */, 84BBB12A20142A4700F054F5 /* Inspector */, @@ -2317,7 +2315,6 @@ 51C4527B2265091600C03939 /* MasterUnreadIndicatorView.swift in Sources */, 51F85BF92274AA7B00C787DC /* UIBarButtonItem-Extensions.swift in Sources */, 51C45296226509D300C03939 /* OPMLExporter.swift in Sources */, - 51C4525B226508DA00C03939 /* UIImage-Extensions.swift in Sources */, 51C45291226509C800C03939 /* SmartFeed.swift in Sources */, 51C452A722650A3D00C03939 /* RSImage-Extensions.swift in Sources */, 51C45269226508F600C03939 /* MasterFeedTableViewCell.swift in Sources */, @@ -2472,7 +2469,7 @@ 84C9FC7722629E1200D921D6 /* AdvancedPreferencesViewController.swift in Sources */, 849EE72120391F560082A1EA /* SharingServicePickerDelegate.swift in Sources */, 849A97981ED9EFAA007D329B /* Node-Extensions.swift in Sources */, - 849EE70F203919360082A1EA /* AppImages.swift in Sources */, + 849EE70F203919360082A1EA /* AppAssets.swift in Sources */, 849A97531ED9EAC0007D329B /* AddFeedController.swift in Sources */, 5183CCE8226F68D90010922C /* AccountRefreshTimer.swift in Sources */, 849A97831ED9EC63007D329B /* SidebarStatusBarView.swift in Sources */, @@ -2490,6 +2487,7 @@ 84C9FC7A22629E1200D921D6 /* AccountsTableViewBackgroundView.swift in Sources */, 8426119E1FCB6ED40086A189 /* HTMLMetadataDownloader.swift in Sources */, 849A976E1ED9EBC8007D329B /* TimelineViewController.swift in Sources */, + 5154368B229404D1005E1CDF /* FaviconGenerator.swift in Sources */, 5183CCE6226F4E110010922C /* RefreshInterval.swift in Sources */, 849A97771ED9EC04007D329B /* TimelineCellData.swift in Sources */, 841ABA6020145EC100980E11 /* BuiltinSmartFeedInspectorViewController.swift in Sources */, diff --git a/Shared/Data/SmallIconProvider.swift b/Shared/Data/SmallIconProvider.swift index 2f3c366c7..96cac60a4 100644 --- a/Shared/Data/SmallIconProvider.swift +++ b/Shared/Data/SmallIconProvider.swift @@ -23,7 +23,7 @@ extension Feed: SmallIconProvider { return image } #if os(macOS) - return AppImages.genericFeedImage + return AppAssets.genericFeedImage #else return FaviconGenerator.favicon(self) #endif diff --git a/Shared/Favicons/FaviconGenerator.swift b/Shared/Favicons/FaviconGenerator.swift index 55c0daa09..1fdef31ee 100644 --- a/Shared/Favicons/FaviconGenerator.swift +++ b/Shared/Favicons/FaviconGenerator.swift @@ -21,7 +21,7 @@ final class FaviconGenerator { } let colorHash = ColorHash(feed.url) - if let favicon = AppAssets.faviconTemplateImage.maskWithColor(color: colorHash.color) { + if let favicon = AppAssets.faviconTemplateImage.maskWithColor(color: colorHash.color.cgColor) { FaviconGenerator.faviconGeneratorCache[feed.url] = favicon return favicon } else { diff --git a/iOS/AppAssets.swift b/iOS/AppAssets.swift index d67309528..02c3836b4 100644 --- a/iOS/AppAssets.swift +++ b/iOS/AppAssets.swift @@ -24,12 +24,12 @@ struct AppAssets { static var chevronDownImage: RSImage = { let image = RSImage(named: "chevronDownImage")! - return image.maskWithColor(color: AppAssets.chevronDisclosureColor)! + return image.maskWithColor(color: AppAssets.chevronDisclosureColor.cgColor)! }() static var chevronRightImage: RSImage = { let image = RSImage(named: "chevronRightImage")! - return image.maskWithColor(color: AppAssets.chevronDisclosureColor)! + return image.maskWithColor(color: AppAssets.chevronDisclosureColor.cgColor)! }() static var faviconTemplateImage: RSImage = { @@ -42,7 +42,7 @@ struct AppAssets { static var feedImage: RSImage = { let image = RSImage(named: "feedImage")! - return image.maskWithColor(color: AppAssets.feedColor)! + return image.maskWithColor(color: AppAssets.feedColor.cgColor)! }() static var masterFolderColor: UIColor = { @@ -51,7 +51,7 @@ struct AppAssets { static var masterFolderImage: RSImage = { let image = RSImage(named: "folderImage")! - return image.maskWithColor(color: AppAssets.masterFolderColor)! + return image.maskWithColor(color: AppAssets.masterFolderColor.cgColor)! }() static var selectionBackgroundColor: UIColor = { @@ -64,7 +64,7 @@ struct AppAssets { static var smartFeedImage: RSImage = { let image = RSImage(named: "smartFeedImage")! - return image.maskWithColor(color: AppAssets.smartFeedColor)! + return image.maskWithColor(color: AppAssets.smartFeedColor.cgColor)! }() static var starColor: UIColor = { @@ -81,7 +81,7 @@ struct AppAssets { static var timelineStarImage: RSImage = { let image = RSImage(named: "starClosedImage")! - return image.maskWithColor(color: AppAssets.starColor)! + return image.maskWithColor(color: AppAssets.starColor.cgColor)! }() static var timelineTextPrimaryColor: UIColor = { diff --git a/iOS/Extensions/UIImage-Extensions.swift b/iOS/Extensions/UIImage-Extensions.swift deleted file mode 100644 index e9e071c40..000000000 --- a/iOS/Extensions/UIImage-Extensions.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// UIImage-Extensions.swift -// NetNewsWire -// -// Created by Maurice Parker on 4/18/19. -// Copyright © 2019 Ranchero Software. All rights reserved. -// - -import UIKit - -extension UIImage { - - func maskWithColor(color: UIColor) -> UIImage? { - - let maskImage = cgImage! - - let width = size.width - let height = size.height - let bounds = CGRect(x: 0, y: 0, width: width, height: height) - - let colorSpace = CGColorSpaceCreateDeviceRGB() - let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.premultipliedLast.rawValue) - let context = CGContext(data: nil, width: Int(width), height: Int(height), bitsPerComponent: 8, bytesPerRow: 0, space: colorSpace, bitmapInfo: bitmapInfo.rawValue)! - - context.clip(to: bounds, mask: maskImage) - context.setFillColor(color.cgColor) - context.fill(bounds) - - if let cgImage = context.makeImage() { - let coloredImage = UIImage(cgImage: cgImage) - return coloredImage - } else { - return nil - } - - } - -} diff --git a/submodules/RSCore b/submodules/RSCore index 44f046dca..b65da2c52 160000 --- a/submodules/RSCore +++ b/submodules/RSCore @@ -1 +1 @@ -Subproject commit 44f046dca9901e50bc7132fb8d296d38b69673d9 +Subproject commit b65da2c5286c6bc342064c738dd351750ea6fe12