Skip to content

Commit 4c0610d

Browse files
Cong Liurogerwang
authored andcommitted
fix popup menu in background page crashes nw
fixed nwjs#5513
1 parent acb2640 commit 4c0610d

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/api/menu/menu.cc

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,20 @@ void Menu::Call(const std::string& method,
6767
arguments.GetInteger(1, &y);
6868
content::WebContents* web_contents = content::WebContents::FromRenderFrameHost(rvh);
6969
DCHECK(web_contents);
70-
double zoom_factor = content::ZoomLevelToZoomFactor(
71-
zoom::ZoomController::FromWebContents(web_contents)->GetZoomLevel());
72-
if (zoom_factor > content::kMaximumZoomFactor) {
73-
zoom_factor = content::kMaximumZoomFactor;
74-
}
75-
if (zoom_factor < content::kMinimumZoomFactor) {
76-
zoom_factor = content::kMinimumZoomFactor;
70+
zoom::ZoomController* zoom_controller = zoom::ZoomController::FromWebContents(web_contents);
71+
72+
if (zoom_controller) {
73+
double zoom_factor = content::ZoomLevelToZoomFactor(zoom_controller->GetZoomLevel());
74+
if (zoom_factor > content::kMaximumZoomFactor) {
75+
zoom_factor = content::kMaximumZoomFactor;
76+
}
77+
if (zoom_factor < content::kMinimumZoomFactor) {
78+
zoom_factor = content::kMinimumZoomFactor;
79+
}
80+
x *= zoom_factor;
81+
y *= zoom_factor;
7782
}
78-
x *= zoom_factor;
79-
y *= zoom_factor;
83+
8084
Popup(x, y, rvh);
8185
} else if (method == "EnableShowEvent") {
8286
arguments.GetBoolean(0, &enable_show_event_);

0 commit comments

Comments
 (0)