X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tools%2Fdbus-launch-x11.c;h=0f344abea0652db8058a59eeee41aaf9e1e8d3e3;hb=f1ba52066cadb90edb192ea93d55ba775bdb73d7;hp=b18241814d27de135e3b4de3849ae64638a941ad;hpb=63196f69c420f55fbb1fa76adaa41877f7f06d7b;p=platform%2Fupstream%2Fdbus.git diff --git a/tools/dbus-launch-x11.c b/tools/dbus-launch-x11.c index b182418..0f344ab 100644 --- a/tools/dbus-launch-x11.c +++ b/tools/dbus-launch-x11.c @@ -17,9 +17,11 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ + +#include #include "dbus-launch.h" #ifdef DBUS_BUILD_X11 @@ -291,6 +293,7 @@ init_x_atoms (Display *display) int x11_get_address (char **paddress, pid_t *pid, long *wid) { + int result; Atom type; Window owner; int format; @@ -308,10 +311,10 @@ x11_get_address (char **paddress, pid_t *pid, long *wid) *wid = (long) owner; /* get the bus address */ - XGetWindowProperty (xdisplay, owner, address_atom, 0, 1024, False, - XA_STRING, &type, &format, &items, &after, - (unsigned char **) &data); - if (type == None || after != 0 || data == NULL || format != 8) + result = XGetWindowProperty (xdisplay, owner, address_atom, 0, 1024, False, + XA_STRING, &type, &format, &items, &after, + (unsigned char **) &data); + if (result != Success || type == None || after != 0 || data == NULL || format != 8) return FALSE; /* error */ *paddress = xstrdup (data); @@ -321,10 +324,10 @@ x11_get_address (char **paddress, pid_t *pid, long *wid) if (pid != NULL) { *pid = 0; - XGetWindowProperty (xdisplay, owner, pid_atom, 0, sizeof pid, False, - XA_CARDINAL, &type, &format, &items, &after, - (unsigned char **) &data); - if (type != None && after == 0 && data != NULL && format == 32) + result = XGetWindowProperty (xdisplay, owner, pid_atom, 0, sizeof pid, False, + XA_CARDINAL, &type, &format, &items, &after, + (unsigned char **) &data); + if (result == Success && type != None && after == 0 && data != NULL && format == 32) *pid = (pid_t) *(long*) data; XFree (data); } @@ -402,6 +405,7 @@ set_address_in_file (char *address, pid_t pid, Window wid) return FALSE; f = fopen (session_file, "w"); + free (session_file); if (f == NULL) return FALSE; /* some kind of error */ fprintf (f, @@ -418,7 +422,6 @@ set_address_in_file (char *address, pid_t pid, Window wid) address, (long)pid, (long)wid); fclose (f); - free (session_file); return TRUE; } @@ -459,5 +462,7 @@ x11_handle_event (void) } #else +void dummy_dbus_launch_x11 (void); + void dummy_dbus_launch_x11 (void) { } #endif