Reset the trace_marker pointer after deletion

BUG=chromium-os:34099
TEST=unittest

Change-Id: If1ca0b2bf6dd8fc4456f127ec0ea7f74d3617334
Reviewed-on: https://gerrit.chromium.org/gerrit/32101
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Commit-Ready: Chung-yih Wang <cywang@chromium.org>
Reviewed-by: Chung-yih Wang <cywang@chromium.org>
Tested-by: Chung-yih Wang <cywang@chromium.org>
diff --git a/Makefile b/Makefile
index 87b3f3a..a5a8115 100644
--- a/Makefile
+++ b/Makefile
@@ -60,6 +60,7 @@
 	$(OBJDIR)/split_correcting_filter_interpreter_unittest.o \
 	$(OBJDIR)/stuck_button_inhibitor_filter_interpreter_unittest.o \
 	$(OBJDIR)/t5r2_correcting_filter_interpreter_unittest.o \
+	$(OBJDIR)/trace_marker_unittest.o \
 	$(OBJDIR)/tracer_unittest.o \
 	$(OBJDIR)/util_unittest.o
 
diff --git a/src/trace_marker.cc b/src/trace_marker.cc
index 6c1017f..61b4937 100644
--- a/src/trace_marker.cc
+++ b/src/trace_marker.cc
@@ -24,8 +24,10 @@
 }
 
 void TraceMarker::DeleteTraceMarker() {
-  if (trace_marker_count_ == 1)
+  if (trace_marker_count_ == 1) {
     delete trace_marker_;
+    trace_marker_ = NULL;
+  }
   trace_marker_count_--;
   if (trace_marker_count_ < 0)
     trace_marker_count_ = 0;
diff --git a/src/trace_marker_unittest.cc b/src/trace_marker_unittest.cc
new file mode 100644
index 0000000..f4358b6
--- /dev/null
+++ b/src/trace_marker_unittest.cc
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string.h>
+
+#include <gtest/gtest.h>
+
+#include "gestures/include/trace_marker.h"
+
+namespace gestures {
+
+class TraceMarkerTest : public ::testing::Test {};
+
+TEST(TraceMarkerTest, DeleteTraceMarkerTest) {
+    EXPECT_EQ(NULL, TraceMarker::GetTraceMarker());
+    TraceMarker::CreateTraceMarker();
+    EXPECT_TRUE(NULL != TraceMarker::GetTraceMarker());
+    TraceMarker::DeleteTraceMarker();
+    EXPECT_EQ(NULL, TraceMarker::GetTraceMarker());
+};
+}  // namespace gestures