mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/win32ole/win32ole.c (ole_invoke, add_event_callback,
rescue_callback): refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
87f80a7dd7
commit
148d575264
2 changed files with 9 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
Fri Jul 25 21:09:32 2008 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||
|
||||
* ext/win32ole/win32ole.c (ole_invoke, add_event_callback,
|
||||
rescue_callback): refactoring.
|
||||
|
||||
Fri Jul 25 20:52:44 2008 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||
|
||||
* test/win32ole/err_in_callback.rb : add test of raising
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
|
||||
#define WC2VSTR(x) ole_wc2vstr((x), TRUE)
|
||||
|
||||
#define WIN32OLE_VERSION "1.2.8"
|
||||
#define WIN32OLE_VERSION "1.2.9"
|
||||
|
||||
typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)
|
||||
(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
|
||||
|
@ -3229,7 +3229,7 @@ ole_invoke(int argc, VALUE *argv, VALUE self, USHORT wFlags, BOOL is_bracket)
|
|||
if (is_bracket) {
|
||||
DispID = DISPID_VALUE;
|
||||
argc += 1;
|
||||
rb_funcall(paramS, rb_intern("unshift"), 1, cmd);
|
||||
rb_ary_unshift(paramS, cmd);
|
||||
} else {
|
||||
wcmdname = ole_vstr2wc(cmd);
|
||||
hr = pole->pDispatch->lpVtbl->GetIDsOfNames( pole->pDispatch, &IID_NULL,
|
||||
|
@ -7511,12 +7511,10 @@ rescue_callback(VALUE arg)
|
|||
{
|
||||
|
||||
VALUE e = rb_errinfo();
|
||||
VALUE c = rb_funcall(e, rb_intern("class"), 0);
|
||||
VALUE bt = rb_funcall(e, rb_intern("backtrace"), 0);
|
||||
VALUE msg = rb_funcall(e, rb_intern("message"), 0);
|
||||
c = rb_funcall(c, rb_intern("to_s"), 0);
|
||||
bt = rb_ary_entry(bt, 0);
|
||||
fprintf(stdout, "%s: %s (%s)\n", StringValuePtr(bt), StringValuePtr(msg), StringValuePtr(c));
|
||||
fprintf(stdout, "%s: %s (%s)\n", StringValuePtr(bt), StringValuePtr(msg), rb_obj_classname(e));
|
||||
rb_backtrace();
|
||||
ruby_finalize();
|
||||
exit(-1);
|
||||
|
@ -8097,10 +8095,7 @@ add_event_call_back(VALUE obj, VALUE event, VALUE data)
|
|||
events = rb_ary_new();
|
||||
rb_ivar_set(obj, id_events, events);
|
||||
}
|
||||
at = ole_search_event_at(events, event);
|
||||
if (at >= 0) {
|
||||
rb_ary_delete_at(events, at);
|
||||
}
|
||||
ole_delete_event(events, event);
|
||||
rb_ary_push(events, data);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue