Skip to content

Commit b6c8235

Browse files
committed
Fix bridge crash on invalid pid
1 parent 06f6bf9 commit b6c8235

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

lib/bridge.ex

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ defmodule Bridge do
3838
3939
"""
4040
use GenServer
41-
4241
require Logger
4342

4443
defstruct port: nil,
@@ -285,8 +284,14 @@ defmodule Bridge do
285284
json = decode!(json)
286285
payload = json[:payload]
287286
pid = json[:pid]
288-
IO.puts("sending event #{inspect(payload)} to #{inspect(pid)}")
289-
send(pid, payload)
287+
Logger.info("sending event #{inspect(payload)} to #{inspect(pid)}")
288+
289+
if is_pid(pid) do
290+
send(pid, payload)
291+
else
292+
Logger.error("Event contains invalid pid: #{inspect(json)}")
293+
end
294+
290295
{:noreply, state}
291296
end
292297

@@ -348,12 +353,8 @@ defmodule Bridge do
348353
def #{name}(arg1, arg2, arg3), do: Bridge.bridge_call(:#{module}, :#{name}, [arg1, arg2, arg3])
349354
def #{name}(arg1, arg2, arg3, arg4), do: Bridge.bridge_call(:#{module}, :#{name}, [arg1, arg2, arg3, arg4])
350355
def #{name}(arg1, arg2, arg3, arg4, arg5), do: Bridge.bridge_call(:#{module}, :#{name}, [arg1, arg2, arg3, arg4, arg5])
351-
def #{name}(arg1, arg2, arg3, arg4, arg5, arg6), do: Bridge.bridge_call(:#{module}, :#{
352-
name
353-
}, [arg1, arg2, arg3, arg4, arg5, arg6])
354-
def #{name}(arg1, arg2, arg3, arg4, arg5, arg6, arg7), do: Bridge.bridge_call(:#{module}, :#{
355-
name
356-
}, [arg1, arg2, arg3, arg4, arg5, arg6, arg7])
356+
def #{name}(arg1, arg2, arg3, arg4, arg5, arg6), do: Bridge.bridge_call(:#{module}, :#{name}, [arg1, arg2, arg3, arg4, arg5, arg6])
357+
def #{name}(arg1, arg2, arg3, arg4, arg5, arg6, arg7), do: Bridge.bridge_call(:#{module}, :#{name}, [arg1, arg2, arg3, arg4, arg5, arg6, arg7])
357358
"""
358359
end
359360

lib/bridge/mock.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ defmodule Bridge.Mock do
1515
end
1616

1717
def handle_method([:wx, :getObjectType, [arg]]), do: Keyword.get(arg, :type)
18-
def handle_method([:wxLocale | _]), do: 'en'
18+
def handle_method([:wxLocale | _]), do: ~c"en"
1919
def handle_method([type, :new | args]), do: [type: type, args: args]
2020
def handle_method([:wxMenuBar, :getMenuCount | _]), do: 0
2121

0 commit comments

Comments
 (0)