From 63831a9894e0e3cc0388c2d3ae9c24c36f8835a4 Mon Sep 17 00:00:00 2001
From: amontero <amontero@166637.no-reply.drupal.org>
Date: Mon, 2 Jan 2012 14:10:25 +0100
Subject: [PATCH] Issue #327512: devel_themer leaves files in /tmp

---
 devel_themer.module |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/devel_themer.module b/devel_themer.module
index eccd6ff..80b10ea 100644
--- a/devel_themer.module
+++ b/devel_themer.module
@@ -536,11 +536,14 @@ function devel_themer_exit() {
     // We used to write this to DB but was getting 'Warning: Got a packet bigger than 'max_allowed_packet' bytes'
     // Writing to temp dir means we don't worry about folder existence/perms and cleanup is free.
     try {
-      file_save_data(serialize($GLOBALS['devel_themer_server']), "temporary://devel_themer_$request_id", FILE_EXISTS_REPLACE);
+      $f = file_save_data(serialize($GLOBALS['devel_themer_server']), "temporary://devel_themer_$request_id", FILE_EXISTS_REPLACE);
     }
     catch (Exception $e) {
-      file_save_data(serialize(array("unables to save variables, probably due to pdo")), "temporary://devel_themer_$request_id", FILE_EXISTS_REPLACE);
+      $f = file_save_data(serialize(array("unables to save variables, probably due to pdo")), "temporary://devel_themer_$request_id", FILE_EXISTS_REPLACE);
     }
+    //Clear the permanent (ie. non-temporary) bit and resave, since file_save_data is hardcoded to be permanent
+    $f->status = 0;
+    file_save($f);
 
     $GLOBALS['devel_theme_calls']['request_id'] = $request_id;
     $GLOBALS['devel_theme_calls']['devel_themer_uri'] = url("devel_themer/variables/$request_id");
-- 
1.7.4.1

