summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <bruederli@kolabsys.com>2012-08-09 21:25:08 +0200
committerThomas Bruederli <bruederli@kolabsys.com>2012-08-09 21:25:08 +0200
commita8e478c07cd0a954e2d061b49a18ee9fc1552f6e (patch)
tree11b2440776e482d8564504c31fc1122d55afffcc
parent4e6e3b64c0502e0c78a8a437ccea70324155afa9 (diff)
parentd098e205a0d97c70c3c40e54d50895ee4fc2a213 (diff)
Merge branch 'release-0.7' of github.com:roundcube/roundcubemail into release-0.7
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_cache.php9
-rw-r--r--program/include/rcube_session.php3
3 files changed, 9 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 5fec20cac..447a41bd4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix (workaround) delete operations with some versions of memcache (#1488592)
- Fix wrong compose screen elements focus in IE9 (#1488541)
- Fix redirect to mail/compose on re-login (#1488226)
- Add IE8 hack for messages list issue (#1487821)
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php
index 018d5f57f..550a148ca 100644
--- a/program/include/rcube_cache.php
+++ b/program/include/rcube_cache.php
@@ -461,10 +461,13 @@ class rcube_cache
*/
private function delete_record($key, $index=true)
{
- if ($this->type == 'memcache')
- $this->db->delete($this->ckey($key));
- else
+ if ($this->type == 'memcache') {
+ // #1488592: use 2nd argument
+ $this->db->delete($this->ckey($key), 0);
+ }
+ else {
apc_delete($this->ckey($key));
+ }
if ($index) {
if (($idx = array_search($key, $this->index)) !== false) {
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php
index bd0ce60e4..3e3becb64 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -319,7 +319,8 @@ class rcube_session
*/
public function mc_destroy($key)
{
- $ret = $this->memcache->delete($key);
+ // #1488592: use 2nd argument
+ $ret = $this->memcache->delete($key, 0);
if ($this->mc_debug) write_log('memcache', "delete($key): " . ($ret ? 'OK' : 'ERR'));
return $ret;
}