| Index: ui/base/idle/idle_query_x11.cc
 | 
| diff --git a/ui/base/idle/idle_query_x11.cc b/ui/base/idle/idle_query_x11.cc
 | 
| index 30bdeb6542a315c1f95cc1377a4ac1d998ac606f..1b1d5b5997e7559007f794d7e89d9b693b61b032 100644
 | 
| --- a/ui/base/idle/idle_query_x11.cc
 | 
| +++ b/ui/base/idle/idle_query_x11.cc
 | 
| @@ -17,18 +17,14 @@ class IdleData {
 | 
|      int error_base;
 | 
|      if (XScreenSaverQueryExtension(gfx::GetXDisplay(), &event_base,
 | 
|                                     &error_base)) {
 | 
| -      mit_info = XScreenSaverAllocInfo();
 | 
| -    } else {
 | 
| -      mit_info = NULL;
 | 
| +      mit_info.reset(XScreenSaverAllocInfo());
 | 
|      }
 | 
|    }
 | 
|  
 | 
|    ~IdleData() {
 | 
| -    if (mit_info)
 | 
| -      XFree(mit_info);
 | 
|    }
 | 
|  
 | 
| -  XScreenSaverInfo *mit_info;
 | 
| +  gfx::XScopedPtr<XScreenSaverInfo> mit_info;
 | 
|  };
 | 
|  
 | 
|  IdleQueryX11::IdleQueryX11() : idle_data_(new IdleData()) {}
 | 
| @@ -41,7 +37,7 @@ int IdleQueryX11::IdleTime() {
 | 
|  
 | 
|    if (XScreenSaverQueryInfo(gfx::GetXDisplay(),
 | 
|                              RootWindow(gfx::GetXDisplay(), 0),
 | 
| -                            idle_data_->mit_info)) {
 | 
| +                            idle_data_->mit_info.get())) {
 | 
|      return (idle_data_->mit_info->idle) / 1000;
 | 
|    } else {
 | 
|      return 0;
 | 
| 
 |