Chromium Code Reviews| Index: gfx/gtk_util.cc |
| diff --git a/gfx/gtk_util.cc b/gfx/gtk_util.cc |
| index c45e13344cbb7916971b42fa5489b6f9fc7ec3f3..b30b82716e9aecf02d74f68999d00e0060cd9c11 100644 |
| --- a/gfx/gtk_util.cc |
| +++ b/gfx/gtk_util.cc |
| @@ -9,6 +9,7 @@ |
| #include <stdlib.h> |
| #include "base/basictypes.h" |
| +#include "base/command_line.h" |
| #include "base/linux_util.h" |
| #include "gfx/rect.h" |
| #include "third_party/skia/include/core/SkBitmap.h" |
| @@ -52,6 +53,24 @@ std::string ConvertAmperstandsTo(const std::string& label, |
| namespace gfx { |
| +void GtkInitFromCommandLine(const CommandLine& command_line) { |
| + const std::vector<std::string>& args = command_line.argv(); |
| + int argc = args.size(); |
| + scoped_array<char *> argv(new char *[argc + 1]); |
|
Evan Stade
2010/11/05 20:35:03
are these weird spaces necessary?
|
| + for (size_t i = 0; i < args.size(); ++i) { |
| + // TODO(piman@google.com): can gtk_init modify argv? Just being safe |
|
Evan Stade
2010/11/05 20:35:03
I think you can just remove the comment
|
| + // here. |
| + argv[i] = strdup(args[i].c_str()); |
| + } |
| + argv[argc] = NULL; |
| + char **argv_pointer = argv.get(); |
|
Evan Stade
2010/11/05 20:35:03
* on left
|
| + |
| + gtk_init(&argc, &argv_pointer); |
| + for (size_t i = 0; i < args.size(); ++i) { |
| + free(argv[i]); |
| + } |
| +} |
| + |
| GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap) { |
| if (bitmap->isNull()) |
| return NULL; |