Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
pwmt
zathura
Commits
f28deccc
Commit
f28deccc
authored
Jun 03, 2012
by
Sebastian Ramacher
Browse files
Revert "Render pages for printing in render thread."
This reverts commit
82714192
.
parent
82714192
Changes
4
Hide whitespace changes
Inline
Side-by-side
page-widget.c
View file @
f28deccc
...
...
@@ -452,7 +452,7 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo)
}
/* render real page */
render_page
(
priv
->
zathura
->
sync
.
render_thread
,
priv
->
page
,
false
,
NULL
);
render_page
(
priv
->
zathura
->
sync
.
render_thread
,
priv
->
page
);
}
g_static_mutex_unlock
(
&
(
priv
->
lock
));
return
FALSE
;
...
...
print.c
View file @
f28deccc
...
...
@@ -93,5 +93,5 @@ cb_print_draw_page(GtkPrintOperation* UNUSED(print_operation), GtkPrintContext*
return
;
}
render_page
(
zathura
->
sync
.
render_thread
,
page
,
true
,
cairo
);
zathura_page_render
(
page
,
cairo
,
true
);
}
render.c
View file @
f28deccc
...
...
@@ -22,38 +22,17 @@ struct render_thread_s
GThreadPool
*
pool
;
/**< Pool of threads */
};
typedef
struct
job_s
{
zathura_page_t
*
page
;
bool
printing
;
cairo_t
*
target
;
GMutex
*
mutex
;
GCond
*
cond
;
}
job_t
;
static
void
render_job
(
void
*
data
,
void
*
user_data
)
{
job_t
*
job
=
data
;
zathura_page_t
*
page
=
data
;
zathura_t
*
zathura
=
user_data
;
if
(
job
==
NULL
||
zathura
==
NULL
||
job
->
page
==
NULL
)
{
if
(
page
==
NULL
||
zathura
==
NULL
)
{
return
;
}
if
(
job
->
printing
==
false
)
{
girara_debug
(
"Rendering page %d"
,
zathura_page_get_index
(
job
->
page
));
if
(
render
(
zathura
,
job
->
page
)
!=
true
)
{
girara_error
(
"Rendering failed (page %d)
\n
"
,
zathura_page_get_index
(
job
->
page
));
}
g_free
(
data
);
}
else
if
(
job
->
target
!=
NULL
)
{
girara_debug
(
"Rendering page %d for printing"
,
zathura_page_get_index
(
job
->
page
));
g_mutex_lock
(
job
->
mutex
);
if
(
zathura_page_render
(
job
->
page
,
job
->
target
,
true
)
!=
ZATHURA_ERROR_OK
)
{
girara_error
(
"Rendering failed (page %d)
\n
"
,
zathura_page_get_index
(
job
->
page
));
}
g_cond_signal
(
job
->
cond
);
g_mutex_unlock
(
job
->
mutex
);
if
(
render
(
zathura
,
page
)
!=
true
)
{
girara_error
(
"Rendering failed (page %d)
\n
"
,
zathura_page_get_index
(
page
));
}
}
...
...
@@ -93,30 +72,13 @@ render_free(render_thread_t* render_thread)
}
bool
render_page
(
render_thread_t
*
render_thread
,
zathura_page_t
*
page
,
bool
printing
,
cairo_t
*
target
)
render_page
(
render_thread_t
*
render_thread
,
zathura_page_t
*
page
)
{
if
(
render_thread
==
NULL
||
page
==
NULL
||
render_thread
->
pool
==
NULL
)
{
return
false
;
}
job_t
*
job
=
g_malloc0
(
sizeof
(
job_t
));
job
->
page
=
page
;
job
->
printing
=
printing
;
job
->
target
=
target
;
if
(
printing
==
true
)
{
job
->
mutex
=
g_mutex_new
();
job
->
cond
=
g_cond_new
();
g_mutex_lock
(
job
->
mutex
);
}
g_thread_pool_push
(
render_thread
->
pool
,
job
,
NULL
);
if
(
printing
==
true
)
{
g_cond_wait
(
job
->
cond
,
job
->
mutex
);
g_mutex_unlock
(
job
->
mutex
);
g_cond_free
(
job
->
cond
);
g_mutex_free
(
job
->
mutex
);
g_free
(
job
);
}
g_thread_pool_push
(
render_thread
->
pool
,
page
,
NULL
);
return
true
;
}
...
...
render.h
View file @
f28deccc
...
...
@@ -31,11 +31,9 @@ void render_free(render_thread_t* render_thread);
*
* @param render_thread The render thread object
* @param page The page that should be rendered
* @param printing Render the page for printing.
* @param target Rendering target in case we're rendering for printing.
* @return true if no error occured
*/
bool
render_page
(
render_thread_t
*
render_thread
,
zathura_page_t
*
page
,
bool
printing
,
cairo_t
*
target
);
bool
render_page
(
render_thread_t
*
render_thread
,
zathura_page_t
*
page
);
/**
* This function is used to unmark all pages as not rendered. This should
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment