win: Don't change transparent window's style
authorCheng Zhao <zcbenz@gmail.com>
Wed, 6 Jan 2016 15:02:33 +0000 (23:02 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 6 Jan 2016 15:02:33 +0000 (23:02 +0800)
Close #1952.

atom/browser/native_window_views.cc

index 1abb2ef..35e12ad 100644 (file)
@@ -424,12 +424,14 @@ void NativeWindowViews::SetResizable(bool resizable) {
   // WS_MAXIMIZEBOX => Maximize button
   // WS_MINIMIZEBOX => Minimize button
   // WS_THICKFRAME => Resize handle
-  DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
-  if (resizable)
-    style |= WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_THICKFRAME;
-  else
-    style = (style & ~(WS_MAXIMIZEBOX | WS_THICKFRAME)) | WS_MINIMIZEBOX;
-  ::SetWindowLong(GetAcceleratedWidget(), GWL_STYLE, style);
+  if (!transparent()) {
+    DWORD style = ::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE);
+    if (resizable)
+      style |= WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_THICKFRAME;
+    else
+      style = (style & ~(WS_MAXIMIZEBOX | WS_THICKFRAME)) | WS_MINIMIZEBOX;
+    ::SetWindowLong(GetAcceleratedWidget(), GWL_STYLE, style);
+  }
 #elif defined(USE_X11)
   if (resizable != resizable_) {
     // On Linux there is no "resizable" property of a window, we have to set