aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/views
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-08-09 10:13:28 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-09 10:13:28 -0700
commit2ee6982d952faa8fd2aa09dec787bb5157840445 (patch)
treedbf4b77c4fd973a60417db1ec8f49cd751ec0b4e /src/views
parent23d97760248300b7aec213a36f8b0485857240b5 (diff)
Sample app uses Ganesh before calling SkGraphics::Init().
This causes inconsistent hashing. Before Init(), we use portable Murmur3, after a faster SSE4.2-based hash. To fix, call SkGraphics::Init() first. BUG=skia:5625 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229853002 Review-Url: https://codereview.chromium.org/2229853002
Diffstat (limited to 'src/views')
-rw-r--r--src/views/mac/skia_mac.mm28
-rw-r--r--src/views/unix/skia_unix.cpp2
-rw-r--r--src/views/win/skia_win.cpp2
3 files changed, 19 insertions, 13 deletions
diff --git a/src/views/mac/skia_mac.mm b/src/views/mac/skia_mac.mm
index 2a794071e1..98d4c4bd92 100644
--- a/src/views/mac/skia_mac.mm
+++ b/src/views/mac/skia_mac.mm
@@ -9,6 +9,7 @@
#include <crt_externs.h>
#import <Cocoa/Cocoa.h>
#include "SkApplication.h"
+#include "SkGraphics.h"
#include "SkNSView.h"
@interface MainView : SkNSView {
@@ -55,48 +56,49 @@
@end
int main(int argc, char *argv[]) {
+ SkGraphics::Init();
signal(SIGPIPE, SIG_IGN);
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
-
+
NSApplication* app = [NSApplication sharedApplication];
NSUInteger windowStyle = (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask);
-
+
NSRect windowRect = NSMakeRect(100, 100, 1000, 1000);
NSWindow* window = [[NSWindow alloc] initWithContentRect:windowRect styleMask:windowStyle backing:NSBackingStoreBuffered defer:NO];
-
+
NSRect rect = [NSWindow contentRectForFrameRect:windowRect styleMask:windowStyle];
MainView* customView = [[MainView alloc] initWithFrame:rect];
[customView setTranslatesAutoresizingMaskIntoConstraints:NO];
NSView* contentView = window.contentView;
[contentView addSubview:customView];
NSDictionary *views = NSDictionaryOfVariableBindings(customView);
-
+
[contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[customView]|"
options:0
metrics:nil
views:views]];
-
+
[contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[customView]|"
options:0
metrics:nil
views:views]];
-
+
[customView begin];
[customView release];
-
+
[window makeKeyAndOrderFront:NSApp];
AppDelegate * appDelegate = [[[AppDelegate alloc] init] autorelease];
app.delegate = appDelegate;
-
+
NSMenu* menu=[[NSMenu alloc] initWithTitle:@"AMainMenu"];
NSMenuItem* item;
NSMenu* subMenu;
-
+
//Create the application menu.
item=[[NSMenuItem alloc] initWithTitle:@"Apple" action:NULL keyEquivalent:@""];
[menu addItem:item];
@@ -107,18 +109,18 @@ int main(int argc, char *argv[]) {
[subMenu addItem:item];
[item release];
[subMenu release];
-
+
//Add the menu to the app.
[app setMenu:menu];
-
+
[app setActivationPolicy:NSApplicationActivationPolicyRegular];
-
+
[app run];
[menu release];
[appDelegate release];
[window release];
[pool release];
-
+
return EXIT_SUCCESS;
}
diff --git a/src/views/unix/skia_unix.cpp b/src/views/unix/skia_unix.cpp
index 58cc040c1e..9f99059625 100644
--- a/src/views/unix/skia_unix.cpp
+++ b/src/views/unix/skia_unix.cpp
@@ -7,9 +7,11 @@
#include "SkApplication.h"
#include "SkEvent.h"
+#include "SkGraphics.h"
#include "SkWindow.h"
int main(int argc, char** argv){
+ SkGraphics::Init();
SkOSWindow* window = create_sk_window(nullptr, argc, argv);
// drain any events that occurred before |window| was assigned.
diff --git a/src/views/win/skia_win.cpp b/src/views/win/skia_win.cpp
index fc07bd46da..df600d771c 100644
--- a/src/views/win/skia_win.cpp
+++ b/src/views/win/skia_win.cpp
@@ -10,6 +10,7 @@
#include <tchar.h>
#include "SkApplication.h"
+#include "SkGraphics.h"
#include "SkOSWindow_Win.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
@@ -79,6 +80,7 @@ int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm
}
int main(int argc, char**argv) {
+ SkGraphics::Init();
return main_common(GetModuleHandle(NULL), SW_SHOW, argc, argv);
}