diff options
| author | Michael Albinus | 2008-08-01 18:35:49 +0000 |
|---|---|---|
| committer | Michael Albinus | 2008-08-01 18:35:49 +0000 |
| commit | 367ea1732aaf87414718e7e1ed23916956f0fa4c (patch) | |
| tree | c90345280d95c43d0540041a4493f934bd1da28a /src | |
| parent | db18c5fd6fca1633508dc77d687789f38d905dd1 (diff) | |
| download | emacs-367ea1732aaf87414718e7e1ed23916956f0fa4c.tar.gz emacs-367ea1732aaf87414718e7e1ed23916956f0fa4c.zip | |
* dbusbind.c (xd_read_message): Handle D-Bus error messages.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/dbusbind.c | 37 |
2 files changed, 24 insertions, 17 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a0707ab86b0..f45a5f19741 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2008-08-01 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * dbusbind.c (xd_read_message): Handle D-Bus error messages. | ||
| 4 | |||
| 1 | 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com> | 5 | 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com> |
| 2 | 6 | ||
| 3 | * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard. | 7 | * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard. |
diff --git a/src/dbusbind.c b/src/dbusbind.c index 21e3f83a509..c0c2a8bd719 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -1436,29 +1436,32 @@ xd_read_message (bus) | |||
| 1436 | 1436 | ||
| 1437 | /* Read message type, message serial, unique name, object path, | 1437 | /* Read message type, message serial, unique name, object path, |
| 1438 | interface and member from the message. */ | 1438 | interface and member from the message. */ |
| 1439 | mtype = dbus_message_get_type (dmessage); | 1439 | mtype = dbus_message_get_type (dmessage); |
| 1440 | serial = (mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN ? | 1440 | serial = |
| 1441 | dbus_message_get_reply_serial (dmessage) : | 1441 | ((mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN) |
| 1442 | dbus_message_get_serial (dmessage)); | 1442 | || (mtype == DBUS_MESSAGE_TYPE_ERROR)) |
| 1443 | uname = dbus_message_get_sender (dmessage); | 1443 | ? dbus_message_get_reply_serial (dmessage) |
| 1444 | path = dbus_message_get_path (dmessage); | 1444 | : dbus_message_get_serial (dmessage); |
| 1445 | uname = dbus_message_get_sender (dmessage); | ||
| 1446 | path = dbus_message_get_path (dmessage); | ||
| 1445 | interface = dbus_message_get_interface (dmessage); | 1447 | interface = dbus_message_get_interface (dmessage); |
| 1446 | member = dbus_message_get_member (dmessage); | 1448 | member = dbus_message_get_member (dmessage); |
| 1447 | 1449 | ||
| 1448 | XD_DEBUG_MESSAGE ("Event received: %s %d %s %s %s %s %s", | 1450 | XD_DEBUG_MESSAGE ("Event received: %s %d %s %s %s %s %s", |
| 1449 | (mtype == DBUS_MESSAGE_TYPE_INVALID) ? | 1451 | (mtype == DBUS_MESSAGE_TYPE_INVALID) |
| 1450 | "DBUS_MESSAGE_TYPE_INVALID" : | 1452 | ? "DBUS_MESSAGE_TYPE_INVALID" |
| 1451 | (mtype == DBUS_MESSAGE_TYPE_METHOD_CALL) ? | 1453 | : (mtype == DBUS_MESSAGE_TYPE_METHOD_CALL) |
| 1452 | "DBUS_MESSAGE_TYPE_METHOD_CALL" : | 1454 | ? "DBUS_MESSAGE_TYPE_METHOD_CALL" |
| 1453 | (mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN) ? | 1455 | : (mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN) |
| 1454 | "DBUS_MESSAGE_TYPE_METHOD_RETURN" : | 1456 | ? "DBUS_MESSAGE_TYPE_METHOD_RETURN" |
| 1455 | (mtype == DBUS_MESSAGE_TYPE_ERROR) ? | 1457 | : (mtype == DBUS_MESSAGE_TYPE_ERROR) |
| 1456 | "DBUS_MESSAGE_TYPE_METHOD_ERROR" : | 1458 | ? "DBUS_MESSAGE_TYPE_ERROR" |
| 1457 | "DBUS_MESSAGE_TYPE_METHOD_SIGNAL", | 1459 | : "DBUS_MESSAGE_TYPE_SIGNAL", |
| 1458 | serial, uname, path, interface, member, | 1460 | serial, uname, path, interface, member, |
| 1459 | SDATA (format2 ("%s", args, Qnil))); | 1461 | SDATA (format2 ("%s", args, Qnil))); |
| 1460 | 1462 | ||
| 1461 | if (mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN) | 1463 | if ((mtype == DBUS_MESSAGE_TYPE_METHOD_RETURN) |
| 1464 | || (mtype == DBUS_MESSAGE_TYPE_ERROR)) | ||
| 1462 | { | 1465 | { |
| 1463 | /* Search for a registered function of the message. */ | 1466 | /* Search for a registered function of the message. */ |
| 1464 | key = list2 (bus, make_number (serial)); | 1467 | key = list2 (bus, make_number (serial)); |